gill
gill/programs/token/Type aliases

ExtensionArgs

type ExtensionArgs = 
  | {
  __kind: "Uninitialized";
}
  | {
  __kind: "TransferFeeConfig";
  newerTransferFee: TransferFeeArgs;
  olderTransferFee: TransferFeeArgs;
  transferFeeConfigAuthority: Address;
  withdrawWithheldAuthority: Address;
  withheldAmount: number | bigint;
}
  | {
  __kind: "TransferFeeAmount";
  withheldAmount: number | bigint;
}
  | {
  __kind: "MintCloseAuthority";
  closeAuthority: Address;
}
  | {
  __kind: "ConfidentialTransferMint";
  auditorElgamalPubkey: OptionOrNullable<Address>;
  authority: OptionOrNullable<Address>;
  autoApproveNewAccounts: boolean;
}
  | {
  __kind: "ConfidentialTransferAccount";
  actualPendingBalanceCreditCounter: number | bigint;
  allowConfidentialCredits: boolean;
  allowNonConfidentialCredits: boolean;
  approved: boolean;
  availableBalance: EncryptedBalanceArgs;
  decryptableAvailableBalance: DecryptableBalanceArgs;
  elgamalPubkey: Address;
  expectedPendingBalanceCreditCounter: number | bigint;
  maximumPendingBalanceCreditCounter: number | bigint;
  pendingBalanceCreditCounter: number | bigint;
  pendingBalanceHigh: EncryptedBalanceArgs;
  pendingBalanceLow: EncryptedBalanceArgs;
}
  | {
  __kind: "DefaultAccountState";
  state: AccountStateArgs;
}
  | {
  __kind: "ImmutableOwner";
}
  | {
  __kind: "MemoTransfer";
  requireIncomingTransferMemos: boolean;
}
  | {
  __kind: "NonTransferable";
}
  | {
  __kind: "InterestBearingConfig";
  currentRate: number;
  initializationTimestamp: number | bigint;
  lastUpdateTimestamp: number | bigint;
  preUpdateAverageRate: number;
  rateAuthority: Address;
}
  | {
  __kind: "CpiGuard";
  lockCpi: boolean;
}
  | {
  __kind: "PermanentDelegate";
  delegate: Address;
}
  | {
  __kind: "NonTransferableAccount";
}
  | {
  __kind: "TransferHook";
  authority: Address;
  programId: Address;
}
  | {
  __kind: "TransferHookAccount";
  transferring: boolean;
}
  | {
  __kind: "ConfidentialTransferFee";
  authority: OptionOrNullable<Address>;
  elgamalPubkey: Address;
  harvestToMintEnabled: boolean;
  withheldAmount: EncryptedBalanceArgs;
}
  | {
  __kind: "ConfidentialTransferFeeAmount";
  withheldAmount: EncryptedBalanceArgs;
}
  | {
  __kind: "MetadataPointer";
  authority: OptionOrNullable<Address>;
  metadataAddress: OptionOrNullable<Address>;
}
  | {
  __kind: "TokenMetadata";
  additionalMetadata: Map<string, string>;
  mint: Address;
  name: string;
  symbol: string;
  updateAuthority: OptionOrNullable<Address>;
  uri: string;
}
  | {
  __kind: "GroupPointer";
  authority: OptionOrNullable<Address>;
  groupAddress: OptionOrNullable<Address>;
}
  | {
  __kind: "TokenGroup";
  maxSize: number | bigint;
  mint: Address;
  size: number | bigint;
  updateAuthority: OptionOrNullable<Address>;
}
  | {
  __kind: "GroupMemberPointer";
  authority: OptionOrNullable<Address>;
  memberAddress: OptionOrNullable<Address>;
}
  | {
  __kind: "TokenGroupMember";
  group: Address;
  memberNumber: number | bigint;
  mint: Address;
}
  | {
  __kind: "ConfidentialMintBurn";
}
  | {
  __kind: "ScaledUiAmountConfig";
  authority: Address;
  multiplier: number;
  newMultiplier: number;
  newMultiplierEffectiveTimestamp: number | bigint;
};

Type declaration

{
  __kind: "Uninitialized";
}
NameType
__kind"Uninitialized"
{
  __kind: "TransferFeeConfig";
  newerTransferFee: TransferFeeArgs;
  olderTransferFee: TransferFeeArgs;
  transferFeeConfigAuthority: Address;
  withdrawWithheldAuthority: Address;
  withheldAmount: number | bigint;
}
NameTypeDescription
__kind"TransferFeeConfig"-
newerTransferFeeTransferFeeArgsNewer transfer fee, used if the current epoch >= newerTransferFee.epoch.
olderTransferFeeTransferFeeArgsOlder transfer fee, used if the current epoch < newerTransferFee.epoch.
transferFeeConfigAuthorityAddressOptional authority to set the fee.
withdrawWithheldAuthorityAddressWithdraw from mint instructions must be signed by this key.
withheldAmountnumber | bigintWithheld transfer fee tokens that have been moved to the mint for withdrawal.
{
  __kind: "TransferFeeAmount";
  withheldAmount: number | bigint;
}
NameTypeDescription
__kind"TransferFeeAmount"-
withheldAmountnumber | bigintWithheld transfer fee tokens that can be claimed by the fee authority.
{
  __kind: "MintCloseAuthority";
  closeAuthority: Address;
}
NameType
__kind"MintCloseAuthority"
closeAuthorityAddress
{
  __kind: "ConfidentialTransferMint";
  auditorElgamalPubkey: OptionOrNullable<Address>;
  authority: OptionOrNullable<Address>;
  autoApproveNewAccounts: boolean;
}
NameTypeDescription
__kind"ConfidentialTransferMint"-
auditorElgamalPubkeyOptionOrNullable<Address>Authority to decode any transfer amount in a confidential transfer.
authorityOptionOrNullable<Address>Authority to modify the ConfidentialTransferMint configuration and to approve new accounts (if auto_approve_new_accounts is true). The legacy Token Multisig account is not supported as the authority.
autoApproveNewAccountsbooleanIndicate if newly configured accounts must be approved by the authority before they may be used by the user. * If true, no approval is required and new accounts may be used immediately. * If false, the authority must approve newly configured accounts (see ConfidentialTransferInstruction::ConfigureAccount).
{
  __kind: "ConfidentialTransferAccount";
  actualPendingBalanceCreditCounter: number | bigint;
  allowConfidentialCredits: boolean;
  allowNonConfidentialCredits: boolean;
  approved: boolean;
  availableBalance: EncryptedBalanceArgs;
  decryptableAvailableBalance: DecryptableBalanceArgs;
  elgamalPubkey: Address;
  expectedPendingBalanceCreditCounter: number | bigint;
  maximumPendingBalanceCreditCounter: number | bigint;
  pendingBalanceCreditCounter: number | bigint;
  pendingBalanceHigh: EncryptedBalanceArgs;
  pendingBalanceLow: EncryptedBalanceArgs;
}
NameTypeDescription
__kind"ConfidentialTransferAccount"-
actualPendingBalanceCreditCounternumber | bigintThe actual pending_balance_credit_counter when the last ApplyPendingBalance instruction was executed.
allowConfidentialCreditsbooleanIf false, the extended account rejects any incoming confidential transfers.
allowNonConfidentialCreditsbooleanIf false, the base account rejects any incoming transfers.
approvedbooleantrue if this account has been approved for use. All confidential transfer operations for the account will fail until approval is granted.
availableBalanceEncryptedBalanceArgsThe available balance (encrypted by encrypiton_pubkey).
decryptableAvailableBalanceDecryptableBalanceArgsThe decryptable available balance.
elgamalPubkeyAddressThe public key associated with ElGamal encryption.
expectedPendingBalanceCreditCounternumber | bigintThe expected_pending_balance_credit_counter value that was included in the last ApplyPendingBalance instruction.
maximumPendingBalanceCreditCounternumber | bigintThe maximum number of Deposit and Transfer instructions that can credit pending_balance before the ApplyPendingBalance instruction is executed.
pendingBalanceCreditCounternumber | bigintThe total number of Deposit and Transfer instructions that have credited pending_balance.
pendingBalanceHighEncryptedBalanceArgsThe high 48 bits of the pending balance (encrypted by elgamal_pubkey).
pendingBalanceLowEncryptedBalanceArgsThe low 16 bits of the pending balance (encrypted by elgamal_pubkey).
{
  __kind: "DefaultAccountState";
  state: AccountStateArgs;
}
NameType
__kind"DefaultAccountState"
stateAccountStateArgs
{
  __kind: "ImmutableOwner";
}
NameType
__kind"ImmutableOwner"
{
  __kind: "MemoTransfer";
  requireIncomingTransferMemos: boolean;
}
NameTypeDescription
__kind"MemoTransfer"-
requireIncomingTransferMemosbooleanRequire transfers into this account to be accompanied by a memo.
{
  __kind: "NonTransferable";
}
NameType
__kind"NonTransferable"
{
  __kind: "InterestBearingConfig";
  currentRate: number;
  initializationTimestamp: number | bigint;
  lastUpdateTimestamp: number | bigint;
  preUpdateAverageRate: number;
  rateAuthority: Address;
}
NameType
__kind"InterestBearingConfig"
currentRatenumber
initializationTimestampnumber | bigint
lastUpdateTimestampnumber | bigint
preUpdateAverageRatenumber
rateAuthorityAddress
{
  __kind: "CpiGuard";
  lockCpi: boolean;
}
NameTypeDescription
__kind"CpiGuard"-
lockCpibooleanLock certain token operations from taking place within CPI for this account.
{
  __kind: "PermanentDelegate";
  delegate: Address;
}
NameType
__kind"PermanentDelegate"
delegateAddress
{
  __kind: "NonTransferableAccount";
}
NameType
__kind"NonTransferableAccount"
{
  __kind: "TransferHook";
  authority: Address;
  programId: Address;
}
NameTypeDescription
__kind"TransferHook"-
authorityAddressThe transfer hook update authority.
programIdAddressThe transfer hook program account.
{
  __kind: "TransferHookAccount";
  transferring: boolean;
}
NameTypeDescription
__kind"TransferHookAccount"-
transferringbooleanWhether or not this account is currently transferring tokens True during the transfer hook cpi, otherwise false.
{
  __kind: "ConfidentialTransferFee";
  authority: OptionOrNullable<Address>;
  elgamalPubkey: Address;
  harvestToMintEnabled: boolean;
  withheldAmount: EncryptedBalanceArgs;
}
NameTypeDescription
__kind"ConfidentialTransferFee"-
authorityOptionOrNullable<Address>Optional authority to set the withdraw withheld authority ElGamal key.
elgamalPubkeyAddressWithheld fees from accounts must be encrypted with this ElGamal key. Note that whoever holds the ElGamal private key for this ElGamal public key has the ability to decode any withheld fee amount that are associated with accounts. When combined with the fee parameters, the withheld fee amounts can reveal information about transfer amounts.
harvestToMintEnabledbooleanIf false, the harvest of withheld tokens to mint is rejected.
withheldAmountEncryptedBalanceArgsWithheld confidential transfer fee tokens that have been moved to the mint for withdrawal.
{
  __kind: "ConfidentialTransferFeeAmount";
  withheldAmount: EncryptedBalanceArgs;
}
NameTypeDescription
__kind"ConfidentialTransferFeeAmount"-
withheldAmountEncryptedBalanceArgsAmount withheld during confidential transfers, to be harvest to the mint.
{
  __kind: "MetadataPointer";
  authority: OptionOrNullable<Address>;
  metadataAddress: OptionOrNullable<Address>;
}
NameTypeDescription
__kind"MetadataPointer"-
authorityOptionOrNullable<Address>Optional authority that can set the metadata address.
metadataAddressOptionOrNullable<Address>Optional Account Address that holds the metadata.
{
  __kind: "TokenMetadata";
  additionalMetadata: Map<string, string>;
  mint: Address;
  name: string;
  symbol: string;
  updateAuthority: OptionOrNullable<Address>;
  uri: string;
}
NameTypeDescription
__kind"TokenMetadata"-
additionalMetadataMap<string, string>Any additional metadata about the token as key-value pairs.
mintAddressThe associated mint, used to counter spoofing to be sure that metadata belongs to a particular mint.
namestringThe longer name of the token.
symbolstringThe shortened symbol for the token.
updateAuthorityOptionOrNullable<Address>The authority that can sign to update the metadata.
uristringThe URI pointing to richer metadata.
{
  __kind: "GroupPointer";
  authority: OptionOrNullable<Address>;
  groupAddress: OptionOrNullable<Address>;
}
NameTypeDescription
__kind"GroupPointer"-
authorityOptionOrNullable<Address>Optional authority that can set the group address.
groupAddressOptionOrNullable<Address>Optional account address that holds the group.
{
  __kind: "TokenGroup";
  maxSize: number | bigint;
  mint: Address;
  size: number | bigint;
  updateAuthority: OptionOrNullable<Address>;
}
NameTypeDescription
__kind"TokenGroup"-
maxSizenumber | bigintThe maximum number of group members.
mintAddressThe associated mint, used to counter spoofing to be sure that group belongs to a particular mint.
sizenumber | bigintThe current number of group members.
updateAuthorityOptionOrNullable<Address>The authority that can sign to update the group.
{
  __kind: "GroupMemberPointer";
  authority: OptionOrNullable<Address>;
  memberAddress: OptionOrNullable<Address>;
}
NameTypeDescription
__kind"GroupMemberPointer"-
authorityOptionOrNullable<Address>Optional authority that can set the member address.
memberAddressOptionOrNullable<Address>Optional account address that holds the member.
{
  __kind: "TokenGroupMember";
  group: Address;
  memberNumber: number | bigint;
  mint: Address;
}
NameTypeDescription
__kind"TokenGroupMember"-
groupAddressThe pubkey of the TokenGroup.
memberNumbernumber | bigintThe member number.
mintAddressThe associated mint, used to counter spoofing to be sure that member belongs to a particular mint.
{
  __kind: "ConfidentialMintBurn";
}
NameType
__kind"ConfidentialMintBurn"
{
  __kind: "ScaledUiAmountConfig";
  authority: Address;
  multiplier: number;
  newMultiplier: number;
  newMultiplierEffectiveTimestamp: number | bigint;
}
NameType
__kind"ScaledUiAmountConfig"
authorityAddress
multipliernumber
newMultipliernumber
newMultiplierEffectiveTimestampnumber | bigint

On this page