UNPKG

@solana-program/token-2022

Version:

JavaScript client for the Token 2022 program

1,319 lines (1,317 loc) 349 kB
import { getEnumEncoder, getEnumDecoder, combineCodec, fixEncoderSize, getBytesEncoder, fixDecoderSize, getBytesDecoder, getDiscriminatedUnionEncoder, getUnitEncoder, addEncoderSizePrefix, getStructEncoder, getAddressEncoder, getU64Encoder, getU16Encoder, getOptionEncoder, getBooleanEncoder, getI16Encoder, getMapEncoder, getUtf8Encoder, getU32Encoder, getF64Encoder, getDiscriminatedUnionDecoder, getUnitDecoder, addDecoderSizePrefix, getStructDecoder, getAddressDecoder, getU64Decoder, getU16Decoder, getOptionDecoder, getBooleanDecoder, getI16Decoder, getMapDecoder, getUtf8Decoder, getU32Decoder, getF64Decoder, getTupleEncoder, getTupleDecoder, getU8Encoder, getHiddenPrefixEncoder, getArrayEncoder, getConstantEncoder, padLeftEncoder, getU8Decoder, getHiddenPrefixDecoder, getArrayDecoder, getConstantDecoder, decodeAccount, assertAccountExists, fetchEncodedAccount, assertAccountsExist, fetchEncodedAccounts, containsBytes, isProgramError, transformEncoder, AccountRole, getI8Encoder, getI8Decoder, getProgramDerivedAddress, none, getI64Encoder, getI64Decoder, unwrapOption, wrapNullable, isOption, isNone, upgradeRoleToSigner, isTransactionSigner as isTransactionSigner$1 } from '@solana/kit'; import { fetchSysvarClock } from '@solana/sysvars'; // src/generated/accounts/mint.ts var AccountState = /* @__PURE__ */ ((AccountState2) => { AccountState2[AccountState2["Uninitialized"] = 0] = "Uninitialized"; AccountState2[AccountState2["Initialized"] = 1] = "Initialized"; AccountState2[AccountState2["Frozen"] = 2] = "Frozen"; return AccountState2; })(AccountState || {}); function getAccountStateEncoder() { return getEnumEncoder(AccountState); } function getAccountStateDecoder() { return getEnumDecoder(AccountState); } function getAccountStateCodec() { return combineCodec(getAccountStateEncoder(), getAccountStateDecoder()); } var AuthorityType = /* @__PURE__ */ ((AuthorityType2) => { AuthorityType2[AuthorityType2["MintTokens"] = 0] = "MintTokens"; AuthorityType2[AuthorityType2["FreezeAccount"] = 1] = "FreezeAccount"; AuthorityType2[AuthorityType2["AccountOwner"] = 2] = "AccountOwner"; AuthorityType2[AuthorityType2["CloseAccount"] = 3] = "CloseAccount"; return AuthorityType2; })(AuthorityType || {}); function getAuthorityTypeEncoder() { return getEnumEncoder(AuthorityType); } function getAuthorityTypeDecoder() { return getEnumDecoder(AuthorityType); } function getAuthorityTypeCodec() { return combineCodec(getAuthorityTypeEncoder(), getAuthorityTypeDecoder()); } function getDecryptableBalanceEncoder() { return fixEncoderSize(getBytesEncoder(), 36); } function getDecryptableBalanceDecoder() { return fixDecoderSize(getBytesDecoder(), 36); } function getDecryptableBalanceCodec() { return combineCodec( getDecryptableBalanceEncoder(), getDecryptableBalanceDecoder() ); } function getEncryptedBalanceEncoder() { return fixEncoderSize(getBytesEncoder(), 64); } function getEncryptedBalanceDecoder() { return fixDecoderSize(getBytesDecoder(), 64); } function getEncryptedBalanceCodec() { return combineCodec( getEncryptedBalanceEncoder(), getEncryptedBalanceDecoder() ); } function getExtensionEncoder() { return getDiscriminatedUnionEncoder( [ ["Uninitialized", getUnitEncoder()], [ "TransferFeeConfig", addEncoderSizePrefix( getStructEncoder([ ["transferFeeConfigAuthority", getAddressEncoder()], ["withdrawWithheldAuthority", getAddressEncoder()], ["withheldAmount", getU64Encoder()], ["olderTransferFee", getTransferFeeEncoder()], ["newerTransferFee", getTransferFeeEncoder()] ]), getU16Encoder() ) ], [ "TransferFeeAmount", addEncoderSizePrefix( getStructEncoder([["withheldAmount", getU64Encoder()]]), getU16Encoder() ) ], [ "MintCloseAuthority", addEncoderSizePrefix( getStructEncoder([["closeAuthority", getAddressEncoder()]]), getU16Encoder() ) ], [ "ConfidentialTransferMint", addEncoderSizePrefix( getStructEncoder([ [ "authority", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ], ["autoApproveNewAccounts", getBooleanEncoder()], [ "auditorElgamalPubkey", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ] ]), getU16Encoder() ) ], [ "ConfidentialTransferAccount", addEncoderSizePrefix( getStructEncoder([ ["approved", getBooleanEncoder()], ["elgamalPubkey", getAddressEncoder()], ["pendingBalanceLow", getEncryptedBalanceEncoder()], ["pendingBalanceHigh", getEncryptedBalanceEncoder()], ["availableBalance", getEncryptedBalanceEncoder()], ["decryptableAvailableBalance", getDecryptableBalanceEncoder()], ["allowConfidentialCredits", getBooleanEncoder()], ["allowNonConfidentialCredits", getBooleanEncoder()], ["pendingBalanceCreditCounter", getU64Encoder()], ["maximumPendingBalanceCreditCounter", getU64Encoder()], ["expectedPendingBalanceCreditCounter", getU64Encoder()], ["actualPendingBalanceCreditCounter", getU64Encoder()] ]), getU16Encoder() ) ], [ "DefaultAccountState", addEncoderSizePrefix( getStructEncoder([["state", getAccountStateEncoder()]]), getU16Encoder() ) ], [ "ImmutableOwner", addEncoderSizePrefix(getStructEncoder([]), getU16Encoder()) ], [ "MemoTransfer", addEncoderSizePrefix( getStructEncoder([ ["requireIncomingTransferMemos", getBooleanEncoder()] ]), getU16Encoder() ) ], [ "NonTransferable", addEncoderSizePrefix(getStructEncoder([]), getU16Encoder()) ], [ "InterestBearingConfig", addEncoderSizePrefix( getStructEncoder([ ["rateAuthority", getAddressEncoder()], ["initializationTimestamp", getU64Encoder()], ["preUpdateAverageRate", getI16Encoder()], ["lastUpdateTimestamp", getU64Encoder()], ["currentRate", getI16Encoder()] ]), getU16Encoder() ) ], [ "CpiGuard", addEncoderSizePrefix( getStructEncoder([["lockCpi", getBooleanEncoder()]]), getU16Encoder() ) ], [ "PermanentDelegate", addEncoderSizePrefix( getStructEncoder([["delegate", getAddressEncoder()]]), getU16Encoder() ) ], [ "NonTransferableAccount", addEncoderSizePrefix(getStructEncoder([]), getU16Encoder()) ], [ "TransferHook", addEncoderSizePrefix( getStructEncoder([ ["authority", getAddressEncoder()], ["programId", getAddressEncoder()] ]), getU16Encoder() ) ], [ "TransferHookAccount", addEncoderSizePrefix( getStructEncoder([["transferring", getBooleanEncoder()]]), getU16Encoder() ) ], [ "ConfidentialTransferFee", addEncoderSizePrefix( getStructEncoder([ [ "authority", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ], ["elgamalPubkey", getAddressEncoder()], ["harvestToMintEnabled", getBooleanEncoder()], ["withheldAmount", getEncryptedBalanceEncoder()] ]), getU16Encoder() ) ], [ "ConfidentialTransferFeeAmount", addEncoderSizePrefix( getStructEncoder([["withheldAmount", getEncryptedBalanceEncoder()]]), getU16Encoder() ) ], [ "MetadataPointer", addEncoderSizePrefix( getStructEncoder([ [ "authority", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ], [ "metadataAddress", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ] ]), getU16Encoder() ) ], [ "TokenMetadata", addEncoderSizePrefix( getStructEncoder([ [ "updateAuthority", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ], ["mint", getAddressEncoder()], ["name", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())], ["symbol", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())], ["uri", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())], [ "additionalMetadata", getMapEncoder( addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()) ) ] ]), getU16Encoder() ) ], [ "GroupPointer", addEncoderSizePrefix( getStructEncoder([ [ "authority", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ], [ "groupAddress", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ] ]), getU16Encoder() ) ], [ "TokenGroup", addEncoderSizePrefix( getStructEncoder([ [ "updateAuthority", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ], ["mint", getAddressEncoder()], ["size", getU64Encoder()], ["maxSize", getU64Encoder()] ]), getU16Encoder() ) ], [ "GroupMemberPointer", addEncoderSizePrefix( getStructEncoder([ [ "authority", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ], [ "memberAddress", getOptionEncoder(getAddressEncoder(), { prefix: null, noneValue: "zeroes" }) ] ]), getU16Encoder() ) ], [ "TokenGroupMember", addEncoderSizePrefix( getStructEncoder([ ["mint", getAddressEncoder()], ["group", getAddressEncoder()], ["memberNumber", getU64Encoder()] ]), getU16Encoder() ) ], ["ConfidentialMintBurn", getUnitEncoder()], [ "ScaledUiAmountConfig", addEncoderSizePrefix( getStructEncoder([ ["authority", getAddressEncoder()], ["multiplier", getF64Encoder()], ["newMultiplierEffectiveTimestamp", getU64Encoder()], ["newMultiplier", getF64Encoder()] ]), getU16Encoder() ) ] ], { size: getU16Encoder() } ); } function getExtensionDecoder() { return getDiscriminatedUnionDecoder( [ ["Uninitialized", getUnitDecoder()], [ "TransferFeeConfig", addDecoderSizePrefix( getStructDecoder([ ["transferFeeConfigAuthority", getAddressDecoder()], ["withdrawWithheldAuthority", getAddressDecoder()], ["withheldAmount", getU64Decoder()], ["olderTransferFee", getTransferFeeDecoder()], ["newerTransferFee", getTransferFeeDecoder()] ]), getU16Decoder() ) ], [ "TransferFeeAmount", addDecoderSizePrefix( getStructDecoder([["withheldAmount", getU64Decoder()]]), getU16Decoder() ) ], [ "MintCloseAuthority", addDecoderSizePrefix( getStructDecoder([["closeAuthority", getAddressDecoder()]]), getU16Decoder() ) ], [ "ConfidentialTransferMint", addDecoderSizePrefix( getStructDecoder([ [ "authority", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ], ["autoApproveNewAccounts", getBooleanDecoder()], [ "auditorElgamalPubkey", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ] ]), getU16Decoder() ) ], [ "ConfidentialTransferAccount", addDecoderSizePrefix( getStructDecoder([ ["approved", getBooleanDecoder()], ["elgamalPubkey", getAddressDecoder()], ["pendingBalanceLow", getEncryptedBalanceDecoder()], ["pendingBalanceHigh", getEncryptedBalanceDecoder()], ["availableBalance", getEncryptedBalanceDecoder()], ["decryptableAvailableBalance", getDecryptableBalanceDecoder()], ["allowConfidentialCredits", getBooleanDecoder()], ["allowNonConfidentialCredits", getBooleanDecoder()], ["pendingBalanceCreditCounter", getU64Decoder()], ["maximumPendingBalanceCreditCounter", getU64Decoder()], ["expectedPendingBalanceCreditCounter", getU64Decoder()], ["actualPendingBalanceCreditCounter", getU64Decoder()] ]), getU16Decoder() ) ], [ "DefaultAccountState", addDecoderSizePrefix( getStructDecoder([["state", getAccountStateDecoder()]]), getU16Decoder() ) ], [ "ImmutableOwner", addDecoderSizePrefix(getStructDecoder([]), getU16Decoder()) ], [ "MemoTransfer", addDecoderSizePrefix( getStructDecoder([ ["requireIncomingTransferMemos", getBooleanDecoder()] ]), getU16Decoder() ) ], [ "NonTransferable", addDecoderSizePrefix(getStructDecoder([]), getU16Decoder()) ], [ "InterestBearingConfig", addDecoderSizePrefix( getStructDecoder([ ["rateAuthority", getAddressDecoder()], ["initializationTimestamp", getU64Decoder()], ["preUpdateAverageRate", getI16Decoder()], ["lastUpdateTimestamp", getU64Decoder()], ["currentRate", getI16Decoder()] ]), getU16Decoder() ) ], [ "CpiGuard", addDecoderSizePrefix( getStructDecoder([["lockCpi", getBooleanDecoder()]]), getU16Decoder() ) ], [ "PermanentDelegate", addDecoderSizePrefix( getStructDecoder([["delegate", getAddressDecoder()]]), getU16Decoder() ) ], [ "NonTransferableAccount", addDecoderSizePrefix(getStructDecoder([]), getU16Decoder()) ], [ "TransferHook", addDecoderSizePrefix( getStructDecoder([ ["authority", getAddressDecoder()], ["programId", getAddressDecoder()] ]), getU16Decoder() ) ], [ "TransferHookAccount", addDecoderSizePrefix( getStructDecoder([["transferring", getBooleanDecoder()]]), getU16Decoder() ) ], [ "ConfidentialTransferFee", addDecoderSizePrefix( getStructDecoder([ [ "authority", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ], ["elgamalPubkey", getAddressDecoder()], ["harvestToMintEnabled", getBooleanDecoder()], ["withheldAmount", getEncryptedBalanceDecoder()] ]), getU16Decoder() ) ], [ "ConfidentialTransferFeeAmount", addDecoderSizePrefix( getStructDecoder([["withheldAmount", getEncryptedBalanceDecoder()]]), getU16Decoder() ) ], [ "MetadataPointer", addDecoderSizePrefix( getStructDecoder([ [ "authority", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ], [ "metadataAddress", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ] ]), getU16Decoder() ) ], [ "TokenMetadata", addDecoderSizePrefix( getStructDecoder([ [ "updateAuthority", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ], ["mint", getAddressDecoder()], ["name", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())], ["symbol", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())], ["uri", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())], [ "additionalMetadata", getMapDecoder( addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()) ) ] ]), getU16Decoder() ) ], [ "GroupPointer", addDecoderSizePrefix( getStructDecoder([ [ "authority", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ], [ "groupAddress", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ] ]), getU16Decoder() ) ], [ "TokenGroup", addDecoderSizePrefix( getStructDecoder([ [ "updateAuthority", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ], ["mint", getAddressDecoder()], ["size", getU64Decoder()], ["maxSize", getU64Decoder()] ]), getU16Decoder() ) ], [ "GroupMemberPointer", addDecoderSizePrefix( getStructDecoder([ [ "authority", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ], [ "memberAddress", getOptionDecoder(getAddressDecoder(), { prefix: null, noneValue: "zeroes" }) ] ]), getU16Decoder() ) ], [ "TokenGroupMember", addDecoderSizePrefix( getStructDecoder([ ["mint", getAddressDecoder()], ["group", getAddressDecoder()], ["memberNumber", getU64Decoder()] ]), getU16Decoder() ) ], ["ConfidentialMintBurn", getUnitDecoder()], [ "ScaledUiAmountConfig", addDecoderSizePrefix( getStructDecoder([ ["authority", getAddressDecoder()], ["multiplier", getF64Decoder()], ["newMultiplierEffectiveTimestamp", getU64Decoder()], ["newMultiplier", getF64Decoder()] ]), getU16Decoder() ) ] ], { size: getU16Decoder() } ); } function getExtensionCodec() { return combineCodec(getExtensionEncoder(), getExtensionDecoder()); } function extension(kind, data) { return Array.isArray(data) ? { __kind: kind, fields: data } : { __kind: kind, ...data ?? {} }; } function isExtension(kind, value) { return value.__kind === kind; } var ExtensionType = /* @__PURE__ */ ((ExtensionType2) => { ExtensionType2[ExtensionType2["Uninitialized"] = 0] = "Uninitialized"; ExtensionType2[ExtensionType2["TransferFeeConfig"] = 1] = "TransferFeeConfig"; ExtensionType2[ExtensionType2["TransferFeeAmount"] = 2] = "TransferFeeAmount"; ExtensionType2[ExtensionType2["MintCloseAuthority"] = 3] = "MintCloseAuthority"; ExtensionType2[ExtensionType2["ConfidentialTransferMint"] = 4] = "ConfidentialTransferMint"; ExtensionType2[ExtensionType2["ConfidentialTransferAccount"] = 5] = "ConfidentialTransferAccount"; ExtensionType2[ExtensionType2["DefaultAccountState"] = 6] = "DefaultAccountState"; ExtensionType2[ExtensionType2["ImmutableOwner"] = 7] = "ImmutableOwner"; ExtensionType2[ExtensionType2["MemoTransfer"] = 8] = "MemoTransfer"; ExtensionType2[ExtensionType2["NonTransferable"] = 9] = "NonTransferable"; ExtensionType2[ExtensionType2["InterestBearingConfig"] = 10] = "InterestBearingConfig"; ExtensionType2[ExtensionType2["CpiGuard"] = 11] = "CpiGuard"; ExtensionType2[ExtensionType2["PermanentDelegate"] = 12] = "PermanentDelegate"; ExtensionType2[ExtensionType2["NonTransferableAccount"] = 13] = "NonTransferableAccount"; ExtensionType2[ExtensionType2["TransferHook"] = 14] = "TransferHook"; ExtensionType2[ExtensionType2["TransferHookAccount"] = 15] = "TransferHookAccount"; ExtensionType2[ExtensionType2["ConfidentialTransferFee"] = 16] = "ConfidentialTransferFee"; ExtensionType2[ExtensionType2["ConfidentialTransferFeeAmount"] = 17] = "ConfidentialTransferFeeAmount"; ExtensionType2[ExtensionType2["ScaledUiAmountConfig"] = 18] = "ScaledUiAmountConfig"; ExtensionType2[ExtensionType2["MetadataPointer"] = 19] = "MetadataPointer"; ExtensionType2[ExtensionType2["TokenMetadata"] = 20] = "TokenMetadata"; ExtensionType2[ExtensionType2["GroupPointer"] = 21] = "GroupPointer"; ExtensionType2[ExtensionType2["TokenGroup"] = 22] = "TokenGroup"; ExtensionType2[ExtensionType2["GroupMemberPointer"] = 23] = "GroupMemberPointer"; ExtensionType2[ExtensionType2["TokenGroupMember"] = 24] = "TokenGroupMember"; return ExtensionType2; })(ExtensionType || {}); function getExtensionTypeEncoder() { return getEnumEncoder(ExtensionType, { size: getU16Encoder() }); } function getExtensionTypeDecoder() { return getEnumDecoder(ExtensionType, { size: getU16Decoder() }); } function getExtensionTypeCodec() { return combineCodec(getExtensionTypeEncoder(), getExtensionTypeDecoder()); } function getTokenMetadataFieldEncoder() { return getDiscriminatedUnionEncoder([ ["Name", getUnitEncoder()], ["Symbol", getUnitEncoder()], ["Uri", getUnitEncoder()], [ "Key", getStructEncoder([ [ "fields", getTupleEncoder([ addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()) ]) ] ]) ] ]); } function getTokenMetadataFieldDecoder() { return getDiscriminatedUnionDecoder([ ["Name", getUnitDecoder()], ["Symbol", getUnitDecoder()], ["Uri", getUnitDecoder()], [ "Key", getStructDecoder([ [ "fields", getTupleDecoder([ addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()) ]) ] ]) ] ]); } function getTokenMetadataFieldCodec() { return combineCodec( getTokenMetadataFieldEncoder(), getTokenMetadataFieldDecoder() ); } function tokenMetadataField(kind, data) { return Array.isArray(data) ? { __kind: kind, fields: data } : { __kind: kind, ...data ?? {} }; } function isTokenMetadataField(kind, value) { return value.__kind === kind; } function getTransferFeeEncoder() { return getStructEncoder([ ["epoch", getU64Encoder()], ["maximumFee", getU64Encoder()], ["transferFeeBasisPoints", getU16Encoder()] ]); } function getTransferFeeDecoder() { return getStructDecoder([ ["epoch", getU64Decoder()], ["maximumFee", getU64Decoder()], ["transferFeeBasisPoints", getU16Decoder()] ]); } function getTransferFeeCodec() { return combineCodec(getTransferFeeEncoder(), getTransferFeeDecoder()); } // src/generated/accounts/mint.ts function getMintEncoder() { return getStructEncoder([ [ "mintAuthority", getOptionEncoder(getAddressEncoder(), { prefix: getU32Encoder(), noneValue: "zeroes" }) ], ["supply", getU64Encoder()], ["decimals", getU8Encoder()], ["isInitialized", getBooleanEncoder()], [ "freezeAuthority", getOptionEncoder(getAddressEncoder(), { prefix: getU32Encoder(), noneValue: "zeroes" }) ], [ "extensions", getOptionEncoder( getHiddenPrefixEncoder( getArrayEncoder(getExtensionEncoder(), { size: "remainder" }), [getConstantEncoder(padLeftEncoder(getU8Encoder(), 83).encode(1))] ), { prefix: null } ) ] ]); } function getMintDecoder() { return getStructDecoder([ [ "mintAuthority", getOptionDecoder(getAddressDecoder(), { prefix: getU32Decoder(), noneValue: "zeroes" }) ], ["supply", getU64Decoder()], ["decimals", getU8Decoder()], ["isInitialized", getBooleanDecoder()], [ "freezeAuthority", getOptionDecoder(getAddressDecoder(), { prefix: getU32Decoder(), noneValue: "zeroes" }) ], [ "extensions", getOptionDecoder( getHiddenPrefixDecoder( getArrayDecoder(getExtensionDecoder(), { size: "remainder" }), [getConstantDecoder(padLeftEncoder(getU8Encoder(), 83).encode(1))] ), { prefix: null } ) ] ]); } function getMintCodec() { return combineCodec(getMintEncoder(), getMintDecoder()); } function decodeMint(encodedAccount) { return decodeAccount( encodedAccount, getMintDecoder() ); } async function fetchMint(rpc, address, config) { const maybeAccount = await fetchMaybeMint(rpc, address, config); assertAccountExists(maybeAccount); return maybeAccount; } async function fetchMaybeMint(rpc, address, config) { const maybeAccount = await fetchEncodedAccount(rpc, address, config); return decodeMint(maybeAccount); } async function fetchAllMint(rpc, addresses, config) { const maybeAccounts = await fetchAllMaybeMint(rpc, addresses, config); assertAccountsExist(maybeAccounts); return maybeAccounts; } async function fetchAllMaybeMint(rpc, addresses, config) { const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); return maybeAccounts.map((maybeAccount) => decodeMint(maybeAccount)); } function getMultisigEncoder() { return getStructEncoder([ ["m", getU8Encoder()], ["n", getU8Encoder()], ["isInitialized", getBooleanEncoder()], ["signers", getArrayEncoder(getAddressEncoder(), { size: 11 })] ]); } function getMultisigDecoder() { return getStructDecoder([ ["m", getU8Decoder()], ["n", getU8Decoder()], ["isInitialized", getBooleanDecoder()], ["signers", getArrayDecoder(getAddressDecoder(), { size: 11 })] ]); } function getMultisigCodec() { return combineCodec(getMultisigEncoder(), getMultisigDecoder()); } function decodeMultisig(encodedAccount) { return decodeAccount( encodedAccount, getMultisigDecoder() ); } async function fetchMultisig(rpc, address, config) { const maybeAccount = await fetchMaybeMultisig(rpc, address, config); assertAccountExists(maybeAccount); return maybeAccount; } async function fetchMaybeMultisig(rpc, address, config) { const maybeAccount = await fetchEncodedAccount(rpc, address, config); return decodeMultisig(maybeAccount); } async function fetchAllMultisig(rpc, addresses, config) { const maybeAccounts = await fetchAllMaybeMultisig(rpc, addresses, config); assertAccountsExist(maybeAccounts); return maybeAccounts; } async function fetchAllMaybeMultisig(rpc, addresses, config) { const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); return maybeAccounts.map((maybeAccount) => decodeMultisig(maybeAccount)); } function getMultisigSize() { return 355; } function getTokenEncoder() { return getStructEncoder([ ["mint", getAddressEncoder()], ["owner", getAddressEncoder()], ["amount", getU64Encoder()], [ "delegate", getOptionEncoder(getAddressEncoder(), { prefix: getU32Encoder(), noneValue: "zeroes" }) ], ["state", getAccountStateEncoder()], [ "isNative", getOptionEncoder(getU64Encoder(), { prefix: getU32Encoder(), noneValue: "zeroes" }) ], ["delegatedAmount", getU64Encoder()], [ "closeAuthority", getOptionEncoder(getAddressEncoder(), { prefix: getU32Encoder(), noneValue: "zeroes" }) ], [ "extensions", getOptionEncoder( getHiddenPrefixEncoder( getArrayEncoder(getExtensionEncoder(), { size: "remainder" }), [getConstantEncoder(getU8Encoder().encode(2))] ), { prefix: null } ) ] ]); } function getTokenDecoder() { return getStructDecoder([ ["mint", getAddressDecoder()], ["owner", getAddressDecoder()], ["amount", getU64Decoder()], [ "delegate", getOptionDecoder(getAddressDecoder(), { prefix: getU32Decoder(), noneValue: "zeroes" }) ], ["state", getAccountStateDecoder()], [ "isNative", getOptionDecoder(getU64Decoder(), { prefix: getU32Decoder(), noneValue: "zeroes" }) ], ["delegatedAmount", getU64Decoder()], [ "closeAuthority", getOptionDecoder(getAddressDecoder(), { prefix: getU32Decoder(), noneValue: "zeroes" }) ], [ "extensions", getOptionDecoder( getHiddenPrefixDecoder( getArrayDecoder(getExtensionDecoder(), { size: "remainder" }), [getConstantDecoder(getU8Encoder().encode(2))] ), { prefix: null } ) ] ]); } function getTokenCodec() { return combineCodec(getTokenEncoder(), getTokenDecoder()); } function decodeToken(encodedAccount) { return decodeAccount( encodedAccount, getTokenDecoder() ); } async function fetchToken(rpc, address, config) { const maybeAccount = await fetchMaybeToken(rpc, address, config); assertAccountExists(maybeAccount); return maybeAccount; } async function fetchMaybeToken(rpc, address, config) { const maybeAccount = await fetchEncodedAccount(rpc, address, config); return decodeToken(maybeAccount); } async function fetchAllToken(rpc, addresses, config) { const maybeAccounts = await fetchAllMaybeToken(rpc, addresses, config); assertAccountsExist(maybeAccounts); return maybeAccounts; } async function fetchAllMaybeToken(rpc, addresses, config) { const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); return maybeAccounts.map((maybeAccount) => decodeToken(maybeAccount)); } var ASSOCIATED_TOKEN_PROGRAM_ADDRESS = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; var AssociatedTokenInstruction = /* @__PURE__ */ ((AssociatedTokenInstruction2) => { AssociatedTokenInstruction2[AssociatedTokenInstruction2["CreateAssociatedToken"] = 0] = "CreateAssociatedToken"; AssociatedTokenInstruction2[AssociatedTokenInstruction2["CreateAssociatedTokenIdempotent"] = 1] = "CreateAssociatedTokenIdempotent"; AssociatedTokenInstruction2[AssociatedTokenInstruction2["RecoverNestedAssociatedToken"] = 2] = "RecoverNestedAssociatedToken"; return AssociatedTokenInstruction2; })(AssociatedTokenInstruction || {}); function identifyAssociatedTokenInstruction(instruction) { const data = "data" in instruction ? instruction.data : instruction; if (containsBytes(data, getU8Encoder().encode(0), 0)) { return 0 /* CreateAssociatedToken */; } if (containsBytes(data, getU8Encoder().encode(1), 0)) { return 1 /* CreateAssociatedTokenIdempotent */; } if (containsBytes(data, getU8Encoder().encode(2), 0)) { return 2 /* RecoverNestedAssociatedToken */; } throw new Error( "The provided instruction could not be identified as a associatedToken instruction." ); } var TOKEN_2022_PROGRAM_ADDRESS = "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; var Token2022Account = /* @__PURE__ */ ((Token2022Account2) => { Token2022Account2[Token2022Account2["Mint"] = 0] = "Mint"; Token2022Account2[Token2022Account2["Token"] = 1] = "Token"; Token2022Account2[Token2022Account2["Multisig"] = 2] = "Multisig"; return Token2022Account2; })(Token2022Account || {}); function identifyToken2022Account(account) { const data = "data" in account ? account.data : account; if (data.length === 82) { return 0 /* Mint */; } if (data.length === 165) { return 1 /* Token */; } if (data.length === 355) { return 2 /* Multisig */; } throw new Error( "The provided account could not be identified as a token-2022 account." ); } var Token2022Instruction = /* @__PURE__ */ ((Token2022Instruction2) => { Token2022Instruction2[Token2022Instruction2["InitializeMint"] = 0] = "InitializeMint"; Token2022Instruction2[Token2022Instruction2["InitializeAccount"] = 1] = "InitializeAccount"; Token2022Instruction2[Token2022Instruction2["InitializeMultisig"] = 2] = "InitializeMultisig"; Token2022Instruction2[Token2022Instruction2["Transfer"] = 3] = "Transfer"; Token2022Instruction2[Token2022Instruction2["Approve"] = 4] = "Approve"; Token2022Instruction2[Token2022Instruction2["Revoke"] = 5] = "Revoke"; Token2022Instruction2[Token2022Instruction2["SetAuthority"] = 6] = "SetAuthority"; Token2022Instruction2[Token2022Instruction2["MintTo"] = 7] = "MintTo"; Token2022Instruction2[Token2022Instruction2["Burn"] = 8] = "Burn"; Token2022Instruction2[Token2022Instruction2["CloseAccount"] = 9] = "CloseAccount"; Token2022Instruction2[Token2022Instruction2["FreezeAccount"] = 10] = "FreezeAccount"; Token2022Instruction2[Token2022Instruction2["ThawAccount"] = 11] = "ThawAccount"; Token2022Instruction2[Token2022Instruction2["TransferChecked"] = 12] = "TransferChecked"; Token2022Instruction2[Token2022Instruction2["ApproveChecked"] = 13] = "ApproveChecked"; Token2022Instruction2[Token2022Instruction2["MintToChecked"] = 14] = "MintToChecked"; Token2022Instruction2[Token2022Instruction2["BurnChecked"] = 15] = "BurnChecked"; Token2022Instruction2[Token2022Instruction2["InitializeAccount2"] = 16] = "InitializeAccount2"; Token2022Instruction2[Token2022Instruction2["SyncNative"] = 17] = "SyncNative"; Token2022Instruction2[Token2022Instruction2["InitializeAccount3"] = 18] = "InitializeAccount3"; Token2022Instruction2[Token2022Instruction2["InitializeMultisig2"] = 19] = "InitializeMultisig2"; Token2022Instruction2[Token2022Instruction2["InitializeMint2"] = 20] = "InitializeMint2"; Token2022Instruction2[Token2022Instruction2["GetAccountDataSize"] = 21] = "GetAccountDataSize"; Token2022Instruction2[Token2022Instruction2["InitializeImmutableOwner"] = 22] = "InitializeImmutableOwner"; Token2022Instruction2[Token2022Instruction2["AmountToUiAmount"] = 23] = "AmountToUiAmount"; Token2022Instruction2[Token2022Instruction2["UiAmountToAmount"] = 24] = "UiAmountToAmount"; Token2022Instruction2[Token2022Instruction2["InitializeMintCloseAuthority"] = 25] = "InitializeMintCloseAuthority"; Token2022Instruction2[Token2022Instruction2["InitializeTransferFeeConfig"] = 26] = "InitializeTransferFeeConfig"; Token2022Instruction2[Token2022Instruction2["TransferCheckedWithFee"] = 27] = "TransferCheckedWithFee"; Token2022Instruction2[Token2022Instruction2["WithdrawWithheldTokensFromMint"] = 28] = "WithdrawWithheldTokensFromMint"; Token2022Instruction2[Token2022Instruction2["WithdrawWithheldTokensFromAccounts"] = 29] = "WithdrawWithheldTokensFromAccounts"; Token2022Instruction2[Token2022Instruction2["HarvestWithheldTokensToMint"] = 30] = "HarvestWithheldTokensToMint"; Token2022Instruction2[Token2022Instruction2["SetTransferFee"] = 31] = "SetTransferFee"; Token2022Instruction2[Token2022Instruction2["InitializeConfidentialTransferMint"] = 32] = "InitializeConfidentialTransferMint"; Token2022Instruction2[Token2022Instruction2["UpdateConfidentialTransferMint"] = 33] = "UpdateConfidentialTransferMint"; Token2022Instruction2[Token2022Instruction2["ConfigureConfidentialTransferAccount"] = 34] = "ConfigureConfidentialTransferAccount"; Token2022Instruction2[Token2022Instruction2["ApproveConfidentialTransferAccount"] = 35] = "ApproveConfidentialTransferAccount"; Token2022Instruction2[Token2022Instruction2["EmptyConfidentialTransferAccount"] = 36] = "EmptyConfidentialTransferAccount"; Token2022Instruction2[Token2022Instruction2["ConfidentialDeposit"] = 37] = "ConfidentialDeposit"; Token2022Instruction2[Token2022Instruction2["ConfidentialWithdraw"] = 38] = "ConfidentialWithdraw"; Token2022Instruction2[Token2022Instruction2["ConfidentialTransfer"] = 39] = "ConfidentialTransfer"; Token2022Instruction2[Token2022Instruction2["ApplyConfidentialPendingBalance"] = 40] = "ApplyConfidentialPendingBalance"; Token2022Instruction2[Token2022Instruction2["EnableConfidentialCredits"] = 41] = "EnableConfidentialCredits"; Token2022Instruction2[Token2022Instruction2["DisableConfidentialCredits"] = 42] = "DisableConfidentialCredits"; Token2022Instruction2[Token2022Instruction2["EnableNonConfidentialCredits"] = 43] = "EnableNonConfidentialCredits"; Token2022Instruction2[Token2022Instruction2["DisableNonConfidentialCredits"] = 44] = "DisableNonConfidentialCredits"; Token2022Instruction2[Token2022Instruction2["ConfidentialTransferWithFee"] = 45] = "ConfidentialTransferWithFee"; Token2022Instruction2[Token2022Instruction2["InitializeDefaultAccountState"] = 46] = "InitializeDefaultAccountState"; Token2022Instruction2[Token2022Instruction2["UpdateDefaultAccountState"] = 47] = "UpdateDefaultAccountState"; Token2022Instruction2[Token2022Instruction2["Reallocate"] = 48] = "Reallocate"; Token2022Instruction2[Token2022Instruction2["EnableMemoTransfers"] = 49] = "EnableMemoTransfers"; Token2022Instruction2[Token2022Instruction2["DisableMemoTransfers"] = 50] = "DisableMemoTransfers"; Token2022Instruction2[Token2022Instruction2["CreateNativeMint"] = 51] = "CreateNativeMint"; Token2022Instruction2[Token2022Instruction2["InitializeNonTransferableMint"] = 52] = "InitializeNonTransferableMint"; Token2022Instruction2[Token2022Instruction2["InitializeInterestBearingMint"] = 53] = "InitializeInterestBearingMint"; Token2022Instruction2[Token2022Instruction2["UpdateRateInterestBearingMint"] = 54] = "UpdateRateInterestBearingMint"; Token2022Instruction2[Token2022Instruction2["EnableCpiGuard"] = 55] = "EnableCpiGuard"; Token2022Instruction2[Token2022Instruction2["DisableCpiGuard"] = 56] = "DisableCpiGuard"; Token2022Instruction2[Token2022Instruction2["InitializePermanentDelegate"] = 57] = "InitializePermanentDelegate"; Token2022Instruction2[Token2022Instruction2["InitializeTransferHook"] = 58] = "InitializeTransferHook"; Token2022Instruction2[Token2022Instruction2["UpdateTransferHook"] = 59] = "UpdateTransferHook"; Token2022Instruction2[Token2022Instruction2["InitializeConfidentialTransferFee"] = 60] = "InitializeConfidentialTransferFee"; Token2022Instruction2[Token2022Instruction2["WithdrawWithheldTokensFromMintForConfidentialTransferFee"] = 61] = "WithdrawWithheldTokensFromMintForConfidentialTransferFee"; Token2022Instruction2[Token2022Instruction2["WithdrawWithheldTokensFromAccountsForConfidentialTransferFee"] = 62] = "WithdrawWithheldTokensFromAccountsForConfidentialTransferFee"; Token2022Instruction2[Token2022Instruction2["HarvestWithheldTokensToMintForConfidentialTransferFee"] = 63] = "HarvestWithheldTokensToMintForConfidentialTransferFee"; Token2022Instruction2[Token2022Instruction2["EnableHarvestToMint"] = 64] = "EnableHarvestToMint"; Token2022Instruction2[Token2022Instruction2["DisableHarvestToMint"] = 65] = "DisableHarvestToMint"; Token2022Instruction2[Token2022Instruction2["WithdrawExcessLamports"] = 66] = "WithdrawExcessLamports"; Token2022Instruction2[Token2022Instruction2["InitializeMetadataPointer"] = 67] = "InitializeMetadataPointer"; Token2022Instruction2[Token2022Instruction2["UpdateMetadataPointer"] = 68] = "UpdateMetadataPointer"; Token2022Instruction2[Token2022Instruction2["InitializeGroupPointer"] = 69] = "InitializeGroupPointer"; Token2022Instruction2[Token2022Instruction2["UpdateGroupPointer"] = 70] = "UpdateGroupPointer"; Token2022Instruction2[Token2022Instruction2["InitializeGroupMemberPointer"] = 71] = "InitializeGroupMemberPointer"; Token2022Instruction2[Token2022Instruction2["UpdateGroupMemberPointer"] = 72] = "UpdateGroupMemberPointer"; Token2022Instruction2[Token2022Instruction2["InitializeScaledUiAmountMint"] = 73] = "InitializeScaledUiAmountMint"; Token2022Instruction2[Token2022Instruction2["UpdateMultiplierScaledUiMint"] = 74] = "UpdateMultiplierScaledUiMint"; Token2022Instruction2[Token2022Instruction2["InitializeTokenMetadata"] = 75] = "InitializeTokenMetadata"; Token2022Instruction2[Token2022Instruction2["UpdateTokenMetadataField"] = 76] = "UpdateTokenMetadataField"; Token2022Instruction2[Token2022Instruction2["RemoveTokenMetadataKey"] = 77] = "RemoveTokenMetadataKey"; Token2022Instruction2[Token2022Instruction2["UpdateTokenMetadataUpdateAuthority"] = 78] = "UpdateTokenMetadataUpdateAuthority"; Token2022Instruction2[Token2022Instruction2["EmitTokenMetadata"] = 79] = "EmitTokenMetadata"; Token2022Instruction2[Token2022Instruction2["InitializeTokenGroup"] = 80] = "InitializeTokenGroup"; Token2022Instruction2[Token2022Instruction2["UpdateTokenGroupMaxSize"] = 81] = "UpdateTokenGroupMaxSize"; Token2022Instruction2[Token2022Instruction2["UpdateTokenGroupUpdateAuthority"] = 82] = "UpdateTokenGroupUpdateAuthority"; Token2022Instruction2[Token2022Instruction2["InitializeTokenGroupMember"] = 83] = "InitializeTokenGroupMember"; return Token2022Instruction2; })(Token2022Instruction || {}); function identifyToken2022Instruction(instruction) { const data = "data" in instruction ? instruction.data : instruction; if (containsBytes(data, getU8Encoder().encode(0), 0)) { return 0 /* InitializeMint */; } if (containsBytes(data, getU8Encoder().encode(1), 0)) { return 1 /* InitializeAccount */; } if (containsBytes(data, getU8Encoder().encode(2), 0)) { return 2 /* InitializeMultisig */; } if (containsBytes(data, getU8Encoder().encode(3), 0)) { return 3 /* Transfer */; } if (containsBytes(data, getU8Encoder().encode(4), 0)) { return 4 /* Approve */; } if (containsBytes(data, getU8Encoder().encode(5), 0)) { return 5 /* Revoke */; } if (containsBytes(data, getU8Encoder().encode(6), 0)) { return 6 /* SetAuthority */; } if (containsBytes(data, getU8Encoder().encode(7), 0)) { return 7 /* MintTo */; } if (containsBytes(data, getU8Encoder().encode(8), 0)) { return 8 /* Burn */; } if (containsBytes(data, getU8Encoder().encode(9), 0)) { return 9 /* CloseAccount */; } if (containsBytes(data, getU8Encoder().encode(10), 0)) { return 10 /* FreezeAccount */; } if (containsBytes(data, getU8Encoder().encode(11), 0)) { return 11 /* ThawAccount */; } if (containsBytes(data, getU8Encoder().encode(12), 0)) { return 12 /* TransferChecked */; } if (containsBytes(data, getU8Encoder().encode(13), 0)) { return 13 /* ApproveChecked */; } if (containsBytes(data, getU8Encoder().encode(14), 0)) { return 14 /* MintToChecked */; } if (containsBytes(data, getU8Encoder().encode(15), 0)) { return 15 /* BurnChecked */; } if (containsBytes(data, getU8Encoder().encode(16), 0)) { return 16 /* InitializeAccount2 */; } if (containsBytes(data, getU8Encoder().encode(17), 0)) { return 17 /* SyncNative */; } if (containsBytes(data, getU8Encoder().encode(18), 0)) { return 18 /* InitializeAccount3 */; } if (containsBytes(data, getU8Encoder().encode(19), 0)) { return 19 /* InitializeMultisig2 */; } if (containsBytes(data, getU8Encoder().encode(20), 0)) { return 20 /* InitializeMint2 */; } if (containsBytes(data, getU8Encoder().encode(21), 0)) { return 21 /* GetAccountDataSize */; } if (containsBytes(data, getU8Encoder().encode(22), 0)) { return 22 /* InitializeImmutableOwner */; } if (containsBytes(data, getU8Encoder().encode(23), 0)) { return 23 /* AmountToUiAmount */; } if (containsBytes(data, getU8Encoder().encode(24), 0)) { return 24 /* UiAmountToAmount */; } if (containsBytes(data, getU8Encoder().encode(25), 0)) { return 25 /* InitializeMintCloseAuthority */; } if (containsBytes(data, getU8Encoder().encode(26), 0) && containsBytes(data, getU8Encoder().encode(0), 1)) { return 26 /* InitializeTransferFeeConfig */; } if (containsBytes(data, getU8Encoder().encode(26), 0) && containsBytes(data, getU8Encoder().encode(1), 1)) { return 27 /* TransferCheckedWithFee */; } if (containsBytes(data, getU8Encoder().encode(26), 0) && containsBytes(data, getU8Encoder().encode(2), 1)) { return 28 /* WithdrawWithheldTokensFromMint */; } if (containsBytes(data, getU8Encoder().encode(26), 0) && containsBytes(data, getU8Encoder().encode(3), 1)) { return 29 /* WithdrawWithheldTokensFromAccounts */; } if (containsBytes(data, getU8Encoder().encode(26), 0) && containsBytes(data, getU8Encoder().encode(4), 1)) { return 30 /* HarvestWithheldTokensToMint */; } if (containsBytes(data, getU8Encoder().encode(26), 0) && containsBytes(data, getU8Encoder().encode(5), 1)) { return 31 /* SetTransferFee */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(0), 1)) { return 32 /* InitializeConfidentialTransferMint */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(1), 1)) { return 33 /* UpdateConfidentialTransferMint */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(2), 1)) { return 34 /* ConfigureConfidentialTransferAccount */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(3), 1)) { return 35 /* ApproveConfidentialTransferAccount */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(4), 1)) { return 36 /* EmptyConfidentialTransferAccount */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(5), 1)) { return 37 /* ConfidentialDeposit */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(6), 1)) { return 38 /* ConfidentialWithdraw */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(7), 1)) { return 39 /* ConfidentialTransfer */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(8), 1)) { return 40 /* ApplyConfidentialPendingBalance */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(9), 1)) { return 41 /* EnableConfidentialCredits */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(10), 1)) { return 42 /* DisableConfidentialCredits */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(11), 1)) { return 43 /* EnableNonConfidentialCredits */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(12), 1)) { return 44 /* DisableNonConfidentialCredits */; } if (containsBytes(data, getU8Encoder().encode(27), 0) && containsBytes(data, getU8Encoder().encode(13), 1)) { return 45 /* ConfidentialTransferWithFee */; } if (containsBytes(data, getU8Encoder().encode(28), 0) && containsBytes(data, getU8Encoder().encode(0), 1)) { return 46 /* InitializeDefaultAccountState */; } if (containsBytes(data, getU8Encoder().encode(28), 0) && containsBytes(data, getU8Encoder().encode(1), 1)) { return 47 /* UpdateDefaultAccountState */; } if (containsBytes(data, getU8Encoder().encode(29), 0)) { return 48 /* Reallocate */; } if (containsBytes(data, getU8Encoder().encode(30), 0) && containsBytes(data, getU8Encoder().encode(0), 1)) { return 49 /* EnableMemoTransfers */; } if (containsBytes(data, getU8Encoder().encode(30), 0) && containsBytes(data, getU8Encoder().encode(1), 1)) { return 50 /* DisableMemoTransfers */; } if (c