@revibase/core 0.7.3 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3104 -5
- package/dist/index.js +2 -5
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +0 -11
- package/dist/constants.js.map +0 -1
- package/dist/errors/index.d.ts +0 -29
- package/dist/errors/index.js +0 -56
- package/dist/errors/index.js.map +0 -1
- package/dist/generated/accounts/domainConfig.d.ts +0 -34
- package/dist/generated/accounts/domainConfig.js +0 -61
- package/dist/generated/accounts/domainConfig.js.map +0 -1
- package/dist/generated/accounts/globalCounter.d.ts +0 -20
- package/dist/generated/accounts/globalCounter.js +0 -47
- package/dist/generated/accounts/globalCounter.js.map +0 -1
- package/dist/generated/accounts/index.d.ts +0 -5
- package/dist/generated/accounts/index.js +0 -6
- package/dist/generated/accounts/index.js.map +0 -1
- package/dist/generated/accounts/settings.d.ts +0 -32
- package/dist/generated/accounts/settings.js +0 -57
- package/dist/generated/accounts/settings.js.map +0 -1
- package/dist/generated/accounts/transactionBuffer.d.ts +0 -50
- package/dist/generated/accounts/transactionBuffer.js +0 -81
- package/dist/generated/accounts/transactionBuffer.js.map +0 -1
- package/dist/generated/accounts/user.d.ts +0 -34
- package/dist/generated/accounts/user.js +0 -71
- package/dist/generated/accounts/user.js.map +0 -1
- package/dist/generated/errors/index.d.ts +0 -1
- package/dist/generated/errors/index.js +0 -2
- package/dist/generated/errors/index.js.map +0 -1
- package/dist/generated/errors/multiWallet.d.ts +0 -87
- package/dist/generated/errors/multiWallet.js +0 -167
- package/dist/generated/errors/multiWallet.js.map +0 -1
- package/dist/generated/index.d.ts +0 -5
- package/dist/generated/index.js +0 -6
- package/dist/generated/index.js.map +0 -1
- package/dist/generated/instructions/changeConfig.d.ts +0 -56
- package/dist/generated/instructions/changeConfig.js +0 -97
- package/dist/generated/instructions/changeConfig.js.map +0 -1
- package/dist/generated/instructions/createDomainConfig.d.ts +0 -68
- package/dist/generated/instructions/createDomainConfig.js +0 -128
- package/dist/generated/instructions/createDomainConfig.js.map +0 -1
- package/dist/generated/instructions/createDomainUserAccount.d.ts +0 -68
- package/dist/generated/instructions/createDomainUserAccount.js +0 -105
- package/dist/generated/instructions/createDomainUserAccount.js.map +0 -1
- package/dist/generated/instructions/createGlobalCounter.d.ts +0 -51
- package/dist/generated/instructions/createGlobalCounter.js +0 -105
- package/dist/generated/instructions/createGlobalCounter.js.map +0 -1
- package/dist/generated/instructions/createUserAccount.d.ts +0 -65
- package/dist/generated/instructions/createUserAccount.js +0 -121
- package/dist/generated/instructions/createUserAccount.js.map +0 -1
- package/dist/generated/instructions/createWallet.d.ts +0 -68
- package/dist/generated/instructions/createWallet.js +0 -143
- package/dist/generated/instructions/createWallet.js.map +0 -1
- package/dist/generated/instructions/disableDomainConfig.d.ts +0 -43
- package/dist/generated/instructions/disableDomainConfig.js +0 -64
- package/dist/generated/instructions/disableDomainConfig.js.map +0 -1
- package/dist/generated/instructions/editDomainConfig.d.ts +0 -52
- package/dist/generated/instructions/editDomainConfig.js +0 -89
- package/dist/generated/instructions/editDomainConfig.js.map +0 -1
- package/dist/generated/instructions/editTransactionManagerUrl.d.ts +0 -52
- package/dist/generated/instructions/editTransactionManagerUrl.js +0 -109
- package/dist/generated/instructions/editTransactionManagerUrl.js.map +0 -1
- package/dist/generated/instructions/editUserDelegate.d.ts +0 -65
- package/dist/generated/instructions/editUserDelegate.js +0 -105
- package/dist/generated/instructions/editUserDelegate.js.map +0 -1
- package/dist/generated/instructions/index.d.ts +0 -19
- package/dist/generated/instructions/index.js +0 -20
- package/dist/generated/instructions/index.js.map +0 -1
- package/dist/generated/instructions/nativeTransferIntent.d.ts +0 -73
- package/dist/generated/instructions/nativeTransferIntent.js +0 -159
- package/dist/generated/instructions/nativeTransferIntent.js.map +0 -1
- package/dist/generated/instructions/tokenTransferIntent.d.ts +0 -133
- package/dist/generated/instructions/tokenTransferIntent.js +0 -349
- package/dist/generated/instructions/tokenTransferIntent.js.map +0 -1
- package/dist/generated/instructions/transactionBufferClose.d.ts +0 -59
- package/dist/generated/instructions/transactionBufferClose.js +0 -106
- package/dist/generated/instructions/transactionBufferClose.js.map +0 -1
- package/dist/generated/instructions/transactionBufferCreate.d.ts +0 -80
- package/dist/generated/instructions/transactionBufferCreate.js +0 -131
- package/dist/generated/instructions/transactionBufferCreate.js.map +0 -1
- package/dist/generated/instructions/transactionBufferExecute.d.ts +0 -56
- package/dist/generated/instructions/transactionBufferExecute.js +0 -103
- package/dist/generated/instructions/transactionBufferExecute.js.map +0 -1
- package/dist/generated/instructions/transactionBufferExtend.d.ts +0 -43
- package/dist/generated/instructions/transactionBufferExtend.js +0 -70
- package/dist/generated/instructions/transactionBufferExtend.js.map +0 -1
- package/dist/generated/instructions/transactionBufferVote.d.ts +0 -59
- package/dist/generated/instructions/transactionBufferVote.js +0 -110
- package/dist/generated/instructions/transactionBufferVote.js.map +0 -1
- package/dist/generated/instructions/transactionExecute.d.ts +0 -42
- package/dist/generated/instructions/transactionExecute.js +0 -66
- package/dist/generated/instructions/transactionExecute.js.map +0 -1
- package/dist/generated/instructions/transactionExecuteSync.d.ts +0 -65
- package/dist/generated/instructions/transactionExecuteSync.js +0 -106
- package/dist/generated/instructions/transactionExecuteSync.js.map +0 -1
- package/dist/generated/programs/index.d.ts +0 -1
- package/dist/generated/programs/index.js +0 -2
- package/dist/generated/programs/index.js.map +0 -1
- package/dist/generated/programs/multiWallet.d.ts +0 -76
- package/dist/generated/programs/multiWallet.js +0 -114
- package/dist/generated/programs/multiWallet.js.map +0 -1
- package/dist/generated/shared/index.d.ts +0 -14
- package/dist/generated/shared/index.js +0 -60
- package/dist/generated/shared/index.js.map +0 -1
- package/dist/generated/types/accountState.d.ts +0 -9
- package/dist/generated/types/accountState.js +0 -16
- package/dist/generated/types/accountState.js.map +0 -1
- package/dist/generated/types/addMemberArgs.d.ts +0 -13
- package/dist/generated/types/addMemberArgs.js +0 -18
- package/dist/generated/types/addMemberArgs.js.map +0 -1
- package/dist/generated/types/additionalMetadata.d.ts +0 -9
- package/dist/generated/types/additionalMetadata.js +0 -17
- package/dist/generated/types/additionalMetadata.js.map +0 -1
- package/dist/generated/types/compiledInstruction.d.ts +0 -10
- package/dist/generated/types/compiledInstruction.js +0 -25
- package/dist/generated/types/compiledInstruction.js.map +0 -1
- package/dist/generated/types/compressedOnlyExtension.d.ts +0 -14
- package/dist/generated/types/compressedOnlyExtension.js +0 -19
- package/dist/generated/types/compressedOnlyExtension.js.map +0 -1
- package/dist/generated/types/compressedProof.d.ts +0 -10
- package/dist/generated/types/compressedProof.js +0 -19
- package/dist/generated/types/compressedProof.js.map +0 -1
- package/dist/generated/types/compressedTokenArgs.d.ts +0 -21
- package/dist/generated/types/compressedTokenArgs.js +0 -26
- package/dist/generated/types/compressedTokenArgs.js.map +0 -1
- package/dist/generated/types/compressibleExtension.d.ts +0 -19
- package/dist/generated/types/compressibleExtension.js +0 -24
- package/dist/generated/types/compressibleExtension.js.map +0 -1
- package/dist/generated/types/compressionInfo.d.ts +0 -29
- package/dist/generated/types/compressionInfo.js +0 -34
- package/dist/generated/types/compressionInfo.js.map +0 -1
- package/dist/generated/types/configAction.d.ts +0 -38
- package/dist/generated/types/configAction.js +0 -84
- package/dist/generated/types/configAction.js.map +0 -1
- package/dist/generated/types/editMemberArgs.d.ts +0 -13
- package/dist/generated/types/editMemberArgs.js +0 -18
- package/dist/generated/types/editMemberArgs.js.map +0 -1
- package/dist/generated/types/expectedSigner.d.ts +0 -13
- package/dist/generated/types/expectedSigner.js +0 -18
- package/dist/generated/types/expectedSigner.js.map +0 -1
- package/dist/generated/types/extensionStruct.d.ts +0 -189
- package/dist/generated/types/extensionStruct.js +0 -164
- package/dist/generated/types/extensionStruct.js.map +0 -1
- package/dist/generated/types/index.d.ts +0 -34
- package/dist/generated/types/index.js +0 -35
- package/dist/generated/types/index.js.map +0 -1
- package/dist/generated/types/member.d.ts +0 -19
- package/dist/generated/types/member.js +0 -24
- package/dist/generated/types/member.js.map +0 -1
- package/dist/generated/types/memberKey.d.ts +0 -9
- package/dist/generated/types/memberKey.js +0 -17
- package/dist/generated/types/memberKey.js.map +0 -1
- package/dist/generated/types/packedMerkleContext.d.ts +0 -11
- package/dist/generated/types/packedMerkleContext.js +0 -21
- package/dist/generated/types/packedMerkleContext.js.map +0 -1
- package/dist/generated/types/pausableAccountExtension.d.ts +0 -6
- package/dist/generated/types/pausableAccountExtension.js +0 -11
- package/dist/generated/types/pausableAccountExtension.js.map +0 -1
- package/dist/generated/types/permanentDelegateAccountExtension.d.ts +0 -6
- package/dist/generated/types/permanentDelegateAccountExtension.js +0 -11
- package/dist/generated/types/permanentDelegateAccountExtension.js.map +0 -1
- package/dist/generated/types/permissions.d.ts +0 -8
- package/dist/generated/types/permissions.js +0 -11
- package/dist/generated/types/permissions.js.map +0 -1
- package/dist/generated/types/proofArgs.d.ts +0 -13
- package/dist/generated/types/proofArgs.js +0 -18
- package/dist/generated/types/proofArgs.js.map +0 -1
- package/dist/generated/types/removeMemberArgs.d.ts +0 -11
- package/dist/generated/types/removeMemberArgs.js +0 -12
- package/dist/generated/types/removeMemberArgs.js.map +0 -1
- package/dist/generated/types/rentConfig.d.ts +0 -12
- package/dist/generated/types/rentConfig.js +0 -23
- package/dist/generated/types/rentConfig.js.map +0 -1
- package/dist/generated/types/secp256r1Pubkey.d.ts +0 -6
- package/dist/generated/types/secp256r1Pubkey.js +0 -11
- package/dist/generated/types/secp256r1Pubkey.js.map +0 -1
- package/dist/generated/types/secp256r1VerifyArgs.d.ts +0 -20
- package/dist/generated/types/secp256r1VerifyArgs.js +0 -31
- package/dist/generated/types/secp256r1VerifyArgs.js.map +0 -1
- package/dist/generated/types/secp256r1VerifyArgsWithDomainConfigIndex.d.ts +0 -13
- package/dist/generated/types/secp256r1VerifyArgsWithDomainConfigIndex.js +0 -18
- package/dist/generated/types/secp256r1VerifyArgsWithDomainConfigIndex.js.map +0 -1
- package/dist/generated/types/settingsIndexWithDelegateInfo.d.ts +0 -12
- package/dist/generated/types/settingsIndexWithDelegateInfo.js +0 -17
- package/dist/generated/types/settingsIndexWithDelegateInfo.js.map +0 -1
- package/dist/generated/types/splInterfacePdaArgs.d.ts +0 -9
- package/dist/generated/types/splInterfacePdaArgs.js +0 -17
- package/dist/generated/types/splInterfacePdaArgs.js.map +0 -1
- package/dist/generated/types/tokenMetadata.d.ts +0 -21
- package/dist/generated/types/tokenMetadata.js +0 -26
- package/dist/generated/types/tokenMetadata.js.map +0 -1
- package/dist/generated/types/transactionMessageAddressTableLookup.d.ts +0 -10
- package/dist/generated/types/transactionMessageAddressTableLookup.js +0 -31
- package/dist/generated/types/transactionMessageAddressTableLookup.js.map +0 -1
- package/dist/generated/types/transactionSyncSigners.d.ts +0 -24
- package/dist/generated/types/transactionSyncSigners.js +0 -52
- package/dist/generated/types/transactionSyncSigners.js.map +0 -1
- package/dist/generated/types/transferFeeAccountExtension.d.ts +0 -10
- package/dist/generated/types/transferFeeAccountExtension.js +0 -11
- package/dist/generated/types/transferFeeAccountExtension.js.map +0 -1
- package/dist/generated/types/transferHookAccountExtension.d.ts +0 -8
- package/dist/generated/types/transferHookAccountExtension.js +0 -11
- package/dist/generated/types/transferHookAccountExtension.js.map +0 -1
- package/dist/generated/types/transports.d.ts +0 -14
- package/dist/generated/types/transports.js +0 -21
- package/dist/generated/types/transports.js.map +0 -1
- package/dist/generated/types/userRole.d.ts +0 -11
- package/dist/generated/types/userRole.js +0 -18
- package/dist/generated/types/userRole.js.map +0 -1
- package/dist/hooked/index.d.ts +0 -12
- package/dist/hooked/index.js +0 -15
- package/dist/hooked/index.js.map +0 -1
- package/dist/instructions/admin/createDomainConfig.d.ts +0 -7
- package/dist/instructions/admin/createDomainConfig.js +0 -16
- package/dist/instructions/admin/createDomainConfig.js.map +0 -1
- package/dist/instructions/admin/createGlobalCounter.d.ts +0 -4
- package/dist/instructions/admin/createGlobalCounter.js +0 -11
- package/dist/instructions/admin/createGlobalCounter.js.map +0 -1
- package/dist/instructions/admin/disableDomainConfig.d.ts +0 -6
- package/dist/instructions/admin/disableDomainConfig.js +0 -12
- package/dist/instructions/admin/disableDomainConfig.js.map +0 -1
- package/dist/instructions/admin/index.d.ts +0 -3
- package/dist/instructions/admin/index.js +0 -4
- package/dist/instructions/admin/index.js.map +0 -1
- package/dist/instructions/executeTransaction.d.ts +0 -15
- package/dist/instructions/executeTransaction.js +0 -32
- package/dist/instructions/executeTransaction.js.map +0 -1
- package/dist/instructions/executeTransactionSync.d.ts +0 -14
- package/dist/instructions/executeTransactionSync.js +0 -61
- package/dist/instructions/executeTransactionSync.js.map +0 -1
- package/dist/instructions/index.d.ts +0 -7
- package/dist/instructions/index.js +0 -8
- package/dist/instructions/index.js.map +0 -1
- package/dist/instructions/intents/index.d.ts +0 -2
- package/dist/instructions/intents/index.js +0 -3
- package/dist/instructions/intents/index.js.map +0 -1
- package/dist/instructions/intents/nativeTransferIntent.d.ts +0 -9
- package/dist/instructions/intents/nativeTransferIntent.js +0 -35
- package/dist/instructions/intents/nativeTransferIntent.js.map +0 -1
- package/dist/instructions/intents/tokenTransferIntent.d.ts +0 -15
- package/dist/instructions/intents/tokenTransferIntent.js +0 -318
- package/dist/instructions/intents/tokenTransferIntent.js.map +0 -1
- package/dist/instructions/secp256r1Verify.d.ts +0 -44
- package/dist/instructions/secp256r1Verify.js +0 -140
- package/dist/instructions/secp256r1Verify.js.map +0 -1
- package/dist/instructions/shared/changeConfig.d.ts +0 -13
- package/dist/instructions/shared/changeConfig.js +0 -60
- package/dist/instructions/shared/changeConfig.js.map +0 -1
- package/dist/instructions/shared/createDomainUserAccounts.d.ts +0 -18
- package/dist/instructions/shared/createDomainUserAccounts.js +0 -20
- package/dist/instructions/shared/createDomainUserAccounts.js.map +0 -1
- package/dist/instructions/shared/createUserAccounts.d.ts +0 -15
- package/dist/instructions/shared/createUserAccounts.js +0 -16
- package/dist/instructions/shared/createUserAccounts.js.map +0 -1
- package/dist/instructions/shared/createWallet.d.ts +0 -8
- package/dist/instructions/shared/createWallet.js +0 -15
- package/dist/instructions/shared/createWallet.js.map +0 -1
- package/dist/instructions/shared/editDomainConfig.d.ts +0 -7
- package/dist/instructions/shared/editDomainConfig.js +0 -16
- package/dist/instructions/shared/editDomainConfig.js.map +0 -1
- package/dist/instructions/shared/editTransactionManagerUrl.d.ts +0 -5
- package/dist/instructions/shared/editTransactionManagerUrl.js +0 -11
- package/dist/instructions/shared/editTransactionManagerUrl.js.map +0 -1
- package/dist/instructions/shared/editUserDelegate.d.ts +0 -8
- package/dist/instructions/shared/editUserDelegate.js +0 -42
- package/dist/instructions/shared/editUserDelegate.js.map +0 -1
- package/dist/instructions/shared/index.d.ts +0 -7
- package/dist/instructions/shared/index.js +0 -8
- package/dist/instructions/shared/index.js.map +0 -1
- package/dist/instructions/transactionBuffers/closeTransactionBuffer.d.ts +0 -8
- package/dist/instructions/transactionBuffers/closeTransactionBuffer.js +0 -28
- package/dist/instructions/transactionBuffers/closeTransactionBuffer.js.map +0 -1
- package/dist/instructions/transactionBuffers/createTransactionBuffer.d.ts +0 -15
- package/dist/instructions/transactionBuffers/createTransactionBuffer.js +0 -34
- package/dist/instructions/transactionBuffers/createTransactionBuffer.js.map +0 -1
- package/dist/instructions/transactionBuffers/executeTransactionBuffer.d.ts +0 -7
- package/dist/instructions/transactionBuffers/executeTransactionBuffer.js +0 -27
- package/dist/instructions/transactionBuffers/executeTransactionBuffer.js.map +0 -1
- package/dist/instructions/transactionBuffers/extendTransactionBuffer.d.ts +0 -6
- package/dist/instructions/transactionBuffers/extendTransactionBuffer.js +0 -10
- package/dist/instructions/transactionBuffers/extendTransactionBuffer.js.map +0 -1
- package/dist/instructions/transactionBuffers/index.d.ts +0 -5
- package/dist/instructions/transactionBuffers/index.js +0 -6
- package/dist/instructions/transactionBuffers/index.js.map +0 -1
- package/dist/instructions/transactionBuffers/voteTransactionBuffer.d.ts +0 -7
- package/dist/instructions/transactionBuffers/voteTransactionBuffer.js +0 -27
- package/dist/instructions/transactionBuffers/voteTransactionBuffer.js.map +0 -1
- package/dist/transaction/index.d.ts +0 -4
- package/dist/transaction/index.js +0 -5
- package/dist/transaction/index.js.map +0 -1
- package/dist/transaction/prepareChangeConfig.d.ts +0 -12
- package/dist/transaction/prepareChangeConfig.js +0 -96
- package/dist/transaction/prepareChangeConfig.js.map +0 -1
- package/dist/transaction/prepareTransactionBundle.d.ts +0 -19
- package/dist/transaction/prepareTransactionBundle.js +0 -78
- package/dist/transaction/prepareTransactionBundle.js.map +0 -1
- package/dist/transaction/prepareTransactionMessage.d.ts +0 -8
- package/dist/transaction/prepareTransactionMessage.js +0 -14
- package/dist/transaction/prepareTransactionMessage.js.map +0 -1
- package/dist/transaction/prepareTransactionSync.d.ts +0 -14
- package/dist/transaction/prepareTransactionSync.js +0 -18
- package/dist/transaction/prepareTransactionSync.js.map +0 -1
- package/dist/types/configurationArgs.d.ts +0 -32
- package/dist/types/configurationArgs.js +0 -2
- package/dist/types/configurationArgs.js.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.js +0 -8
- package/dist/types/index.js.map +0 -1
- package/dist/types/keyType.d.ts +0 -8
- package/dist/types/keyType.js +0 -5
- package/dist/types/keyType.js.map +0 -1
- package/dist/types/passkeys.d.ts +0 -506
- package/dist/types/passkeys.js +0 -211
- package/dist/types/passkeys.js.map +0 -1
- package/dist/types/permissions.d.ts +0 -14
- package/dist/types/permissions.js +0 -21
- package/dist/types/permissions.js.map +0 -1
- package/dist/types/secp256r1.d.ts +0 -41
- package/dist/types/secp256r1.js +0 -70
- package/dist/types/secp256r1.js.map +0 -1
- package/dist/types/transaction.d.ts +0 -7
- package/dist/types/transaction.js +0 -2
- package/dist/types/transaction.js.map +0 -1
- package/dist/types/vaultTransactionMessage.d.ts +0 -7
- package/dist/types/vaultTransactionMessage.js +0 -79
- package/dist/types/vaultTransactionMessage.js.map +0 -1
- package/dist/utils/addresses/index.d.ts +0 -13
- package/dist/utils/addresses/index.js +0 -90
- package/dist/utils/addresses/index.js.map +0 -1
- package/dist/utils/codama.d.ts +0 -1
- package/dist/utils/codama.js +0 -56
- package/dist/utils/codama.js.map +0 -1
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.js +0 -6
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/initialize.d.ts +0 -10
- package/dist/utils/initialize.js +0 -30
- package/dist/utils/initialize.js.map +0 -1
- package/dist/utils/passkeys/helper.d.ts +0 -39
- package/dist/utils/passkeys/helper.js +0 -156
- package/dist/utils/passkeys/helper.js.map +0 -1
- package/dist/utils/passkeys/index.d.ts +0 -1
- package/dist/utils/passkeys/index.js +0 -2
- package/dist/utils/passkeys/index.js.map +0 -1
- package/dist/utils/passkeys/internal.d.ts +0 -8
- package/dist/utils/passkeys/internal.js +0 -93
- package/dist/utils/passkeys/internal.js.map +0 -1
- package/dist/utils/retry.d.ts +0 -11
- package/dist/utils/retry.js +0 -44
- package/dist/utils/retry.js.map +0 -1
- package/dist/utils/transaction/helper.d.ts +0 -22
- package/dist/utils/transaction/helper.js +0 -247
- package/dist/utils/transaction/helper.js.map +0 -1
- package/dist/utils/transaction/index.d.ts +0 -1
- package/dist/utils/transaction/index.js +0 -2
- package/dist/utils/transaction/index.js.map +0 -1
- package/dist/utils/transaction/internal.d.ts +0 -22
- package/dist/utils/transaction/internal.js +0 -128
- package/dist/utils/transaction/internal.js.map +0 -1
- package/dist/utils/transaction/packedAccounts.d.ts +0 -30
- package/dist/utils/transaction/packedAccounts.js +0 -135
- package/dist/utils/transaction/packedAccounts.js.map +0 -1
- package/dist/utils/transactionMessage/compileToWrappedMessageV0.d.ts +0 -9
- package/dist/utils/transactionMessage/compileToWrappedMessageV0.js +0 -39
- package/dist/utils/transactionMessage/compileToWrappedMessageV0.js.map +0 -1
- package/dist/utils/transactionMessage/compiled-keys.d.ts +0 -34
- package/dist/utils/transactionMessage/compiled-keys.js +0 -107
- package/dist/utils/transactionMessage/compiled-keys.js.map +0 -1
- package/dist/utils/transactionMessage/internal.d.ts +0 -33
- package/dist/utils/transactionMessage/internal.js +0 -121
- package/dist/utils/transactionMessage/internal.js.map +0 -1
- package/dist/utils/transactionMessage/message-account-keys.d.ts +0 -17
- package/dist/utils/transactionMessage/message-account-keys.js +0 -56
- package/dist/utils/transactionMessage/message-account-keys.js.map +0 -1
- package/dist/utils/user/helper.d.ts +0 -8
- package/dist/utils/user/helper.js +0 -87
- package/dist/utils/user/helper.js.map +0 -1
- package/dist/utils/user/index.d.ts +0 -1
- package/dist/utils/user/index.js +0 -2
- package/dist/utils/user/index.js.map +0 -1
- package/dist/utils/validation.d.ts +0 -4
- package/dist/utils/validation.js +0 -22
- package/dist/utils/validation.js.map +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { address, } from "@solana/kit";
|
|
2
|
-
import { CompiledKeys } from "./compiled-keys";
|
|
3
|
-
import { MessageAccountKeys } from "./message-account-keys";
|
|
4
|
-
export function compileToWrappedMessageV0({ payer, recentBlockhash, instructions, addressesByLookupTableAddress, }) {
|
|
5
|
-
const compiledKeys = CompiledKeys.compile(instructions, payer);
|
|
6
|
-
const addressTableLookups = new Array();
|
|
7
|
-
const accountKeysFromLookups = {
|
|
8
|
-
writable: [],
|
|
9
|
-
readonly: [],
|
|
10
|
-
};
|
|
11
|
-
const lookupTableAccounts = Object.entries(addressesByLookupTableAddress ?? {});
|
|
12
|
-
for (const lookupTable of lookupTableAccounts) {
|
|
13
|
-
const extractResult = compiledKeys.extractTableLookup(lookupTable);
|
|
14
|
-
if (extractResult !== undefined) {
|
|
15
|
-
const { addressTableLookup, drainedKeys } = extractResult;
|
|
16
|
-
addressTableLookups.push({
|
|
17
|
-
readonlyIndexes: addressTableLookup.readonlyIndexes,
|
|
18
|
-
readableIndices: addressTableLookup.readonlyIndexes,
|
|
19
|
-
writableIndexes: addressTableLookup.writableIndexes,
|
|
20
|
-
writableIndices: addressTableLookup.writableIndexes,
|
|
21
|
-
lookupTableAddress: address(addressTableLookup.lookupTableAddress),
|
|
22
|
-
});
|
|
23
|
-
accountKeysFromLookups.writable.push(...drainedKeys.writable);
|
|
24
|
-
accountKeysFromLookups.readonly.push(...drainedKeys.readonly);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
const [header, staticAccounts] = compiledKeys.getMessageComponents();
|
|
28
|
-
const accountKeys = new MessageAccountKeys(staticAccounts, accountKeysFromLookups);
|
|
29
|
-
const compiledInstructions = accountKeys.compileInstructions(instructions);
|
|
30
|
-
return {
|
|
31
|
-
version: 0,
|
|
32
|
-
header,
|
|
33
|
-
instructions: compiledInstructions,
|
|
34
|
-
lifetimeToken: recentBlockhash,
|
|
35
|
-
staticAccounts,
|
|
36
|
-
addressTableLookups,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=compileToWrappedMessageV0.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compileToWrappedMessageV0.js","sourceRoot":"","sources":["../../../src/utils/transactionMessage/compileToWrappedMessageV0.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,GAKR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,UAAU,yBAAyB,CAAC,EACxC,KAAK,EACL,eAAe,EACf,YAAY,EACZ,6BAA6B,GAM9B;IACC,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAE/D,MAAM,mBAAmB,GAWnB,IAAI,KAAK,EAAE,CAAC;IAClB,MAAM,sBAAsB,GAAiD;QAC3E,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CACxC,6BAA6B,IAAI,EAAE,CACpC,CAAC;IAEF,KAAK,MAAM,WAAW,IAAI,mBAAmB,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;YAC1D,mBAAmB,CAAC,IAAI,CAAC;gBACvB,eAAe,EAAE,kBAAkB,CAAC,eAAe;gBACnD,eAAe,EAAE,kBAAkB,CAAC,eAAe;gBACnD,eAAe,EAAE,kBAAkB,CAAC,eAAe;gBACnD,eAAe,EAAE,kBAAkB,CAAC,eAAe;gBACnD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;aACnE,CAAC,CAAC;YACH,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9D,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;IAErE,MAAM,WAAW,GAAG,IAAI,kBAAkB,CACxC,cAAc,EACd,sBAAsB,CACvB,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC3E,OAAO;QACL,OAAO,EAAE,CAAC;QACV,MAAM;QACN,YAAY,EAAE,oBAAoB;QAClC,aAAa,EAAE,eAAe;QAC9B,cAAc;QACd,mBAAmB;KAC2B,CAAC;AACnD,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type Address, type Instruction } from "@solana/kit";
|
|
2
|
-
export type CompiledKeyMeta = {
|
|
3
|
-
isSigner: boolean;
|
|
4
|
-
isWritable: boolean;
|
|
5
|
-
isInvoked: boolean;
|
|
6
|
-
};
|
|
7
|
-
type KeyMetaMap = Map<Address, CompiledKeyMeta>;
|
|
8
|
-
export declare class CompiledKeys {
|
|
9
|
-
payer: Address;
|
|
10
|
-
keyMetaMap: KeyMetaMap;
|
|
11
|
-
constructor(payer: Address, keyMetaMap: KeyMetaMap);
|
|
12
|
-
static compile(instructions: Array<Instruction>, payer: Address): CompiledKeys;
|
|
13
|
-
getMessageComponents(): [
|
|
14
|
-
{
|
|
15
|
-
numReadonlyNonSignerAccounts: number;
|
|
16
|
-
numReadonlySignerAccounts: number;
|
|
17
|
-
numSignerAccounts: number;
|
|
18
|
-
},
|
|
19
|
-
Array<Address>
|
|
20
|
-
];
|
|
21
|
-
extractTableLookup(lookupTableAddresses: [string, Address[]]): {
|
|
22
|
-
addressTableLookup: {
|
|
23
|
-
lookupTableAddress: string;
|
|
24
|
-
writableIndexes: number[];
|
|
25
|
-
readonlyIndexes: number[];
|
|
26
|
-
};
|
|
27
|
-
drainedKeys: {
|
|
28
|
-
writable: Address[];
|
|
29
|
-
readonly: Address[];
|
|
30
|
-
};
|
|
31
|
-
} | undefined;
|
|
32
|
-
private drainKeysFoundInLookupTable;
|
|
33
|
-
}
|
|
34
|
-
export {};
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { AccountRole } from "@solana/kit";
|
|
2
|
-
export class CompiledKeys {
|
|
3
|
-
payer;
|
|
4
|
-
keyMetaMap;
|
|
5
|
-
constructor(payer, keyMetaMap) {
|
|
6
|
-
this.payer = payer;
|
|
7
|
-
this.keyMetaMap = keyMetaMap;
|
|
8
|
-
}
|
|
9
|
-
static compile(instructions, payer) {
|
|
10
|
-
const keyMetaMap = new Map();
|
|
11
|
-
const getOrInsertDefault = (address) => {
|
|
12
|
-
let keyMeta = keyMetaMap.get(address);
|
|
13
|
-
if (keyMeta === undefined) {
|
|
14
|
-
keyMeta = {
|
|
15
|
-
isSigner: false,
|
|
16
|
-
isWritable: false,
|
|
17
|
-
isInvoked: false,
|
|
18
|
-
};
|
|
19
|
-
keyMetaMap.set(address, keyMeta);
|
|
20
|
-
}
|
|
21
|
-
return keyMeta;
|
|
22
|
-
};
|
|
23
|
-
const payerKeyMeta = getOrInsertDefault(payer);
|
|
24
|
-
payerKeyMeta.isSigner = true;
|
|
25
|
-
payerKeyMeta.isWritable = true;
|
|
26
|
-
for (const ix of instructions) {
|
|
27
|
-
getOrInsertDefault(ix.programAddress).isInvoked = false;
|
|
28
|
-
for (const accountMeta of ix.accounts ?? []) {
|
|
29
|
-
const keyMeta = getOrInsertDefault(accountMeta.address);
|
|
30
|
-
keyMeta.isSigner ||=
|
|
31
|
-
accountMeta.role === AccountRole.READONLY_SIGNER ||
|
|
32
|
-
accountMeta.role === AccountRole.WRITABLE_SIGNER;
|
|
33
|
-
keyMeta.isWritable ||=
|
|
34
|
-
accountMeta.role === AccountRole.WRITABLE ||
|
|
35
|
-
accountMeta.role === AccountRole.WRITABLE_SIGNER;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return new CompiledKeys(payer, keyMetaMap);
|
|
39
|
-
}
|
|
40
|
-
getMessageComponents() {
|
|
41
|
-
const mapEntries = [...this.keyMetaMap.entries()];
|
|
42
|
-
if (mapEntries.length > 256) {
|
|
43
|
-
throw new Error("Max static account keys length exceeded");
|
|
44
|
-
}
|
|
45
|
-
const writableSigners = mapEntries.filter(([, meta]) => meta.isSigner && meta.isWritable);
|
|
46
|
-
const readonlySigners = mapEntries.filter(([, meta]) => meta.isSigner && !meta.isWritable);
|
|
47
|
-
const writableNonSigners = mapEntries.filter(([, meta]) => !meta.isSigner && meta.isWritable);
|
|
48
|
-
const readonlyNonSigners = mapEntries.filter(([, meta]) => !meta.isSigner && !meta.isWritable);
|
|
49
|
-
const header = {
|
|
50
|
-
numSignerAccounts: writableSigners.length + readonlySigners.length,
|
|
51
|
-
numReadonlySignerAccounts: readonlySigners.length,
|
|
52
|
-
numReadonlyNonSignerAccounts: readonlyNonSigners.length,
|
|
53
|
-
};
|
|
54
|
-
if (writableSigners.length === 0) {
|
|
55
|
-
throw new Error("Expected at least one writable signer key");
|
|
56
|
-
}
|
|
57
|
-
const [payerAddress] = writableSigners[0];
|
|
58
|
-
if (payerAddress !== this.payer) {
|
|
59
|
-
throw new Error("Expected first writable signer key to be the fee payer");
|
|
60
|
-
}
|
|
61
|
-
const staticAccountKeys = [
|
|
62
|
-
...writableSigners.map(([key]) => key),
|
|
63
|
-
...readonlySigners.map(([key]) => key),
|
|
64
|
-
...writableNonSigners.map(([key]) => key),
|
|
65
|
-
...readonlyNonSigners.map(([key]) => key),
|
|
66
|
-
];
|
|
67
|
-
return [header, staticAccountKeys];
|
|
68
|
-
}
|
|
69
|
-
extractTableLookup(lookupTableAddresses) {
|
|
70
|
-
const [writableIndexes, drainedWritableKeys] = this.drainKeysFoundInLookupTable(lookupTableAddresses[1], (keyMeta) => !keyMeta.isSigner && !keyMeta.isInvoked && keyMeta.isWritable);
|
|
71
|
-
const [readonlyIndexes, drainedReadonlyKeys] = this.drainKeysFoundInLookupTable(lookupTableAddresses[1], (keyMeta) => !keyMeta.isSigner && !keyMeta.isInvoked && !keyMeta.isWritable);
|
|
72
|
-
if (writableIndexes.length === 0 && readonlyIndexes.length === 0) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
return {
|
|
76
|
-
addressTableLookup: {
|
|
77
|
-
lookupTableAddress: lookupTableAddresses[0],
|
|
78
|
-
writableIndexes,
|
|
79
|
-
readonlyIndexes,
|
|
80
|
-
},
|
|
81
|
-
drainedKeys: {
|
|
82
|
-
writable: drainedWritableKeys,
|
|
83
|
-
readonly: drainedReadonlyKeys,
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
drainKeysFoundInLookupTable(lookupTableEntries, keyMetaFilter) {
|
|
88
|
-
const lookupTableIndexes = new Array();
|
|
89
|
-
const drainedKeys = new Array();
|
|
90
|
-
for (const [addressKey, keyMeta] of this.keyMetaMap.entries()) {
|
|
91
|
-
if (keyMetaFilter(keyMeta)) {
|
|
92
|
-
const key = addressKey;
|
|
93
|
-
const lookupTableIndex = lookupTableEntries.findIndex((entry) => entry === key);
|
|
94
|
-
if (lookupTableIndex >= 0) {
|
|
95
|
-
if (lookupTableIndex >= 256) {
|
|
96
|
-
throw new Error("Max lookup table index exceeded");
|
|
97
|
-
}
|
|
98
|
-
lookupTableIndexes.push(lookupTableIndex);
|
|
99
|
-
drainedKeys.push(key);
|
|
100
|
-
this.keyMetaMap.delete(addressKey);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return [lookupTableIndexes, drainedKeys];
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=compiled-keys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-keys.js","sourceRoot":"","sources":["../../../src/utils/transactionMessage/compiled-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { type AccountMeta, type AccountSignerMeta, type Address, type AddressesByLookupTableAddress, type ReadonlyUint8Array, type TransactionSigner } from "@solana/kit";
|
|
2
|
-
export declare function accountsForTransactionExecute({ walletAddress, transactionMessageBytes, addressesByLookupTableAddress, additionalSigners, }: {
|
|
3
|
-
transactionMessageBytes: ReadonlyUint8Array;
|
|
4
|
-
walletAddress: Address;
|
|
5
|
-
addressesByLookupTableAddress?: AddressesByLookupTableAddress;
|
|
6
|
-
additionalSigners?: TransactionSigner[];
|
|
7
|
-
}): Promise<{
|
|
8
|
-
accountMetas: (AccountMeta<string> | AccountSignerMeta<string, TransactionSigner<string>>)[];
|
|
9
|
-
addressLookupTableAccounts: AddressesByLookupTableAddress;
|
|
10
|
-
transactionMessage: Readonly<{
|
|
11
|
-
addressTableLookups?: Readonly<{
|
|
12
|
-
lookupTableAddress: Address;
|
|
13
|
-
readonlyIndexes: readonly number[];
|
|
14
|
-
writableIndexes: readonly number[];
|
|
15
|
-
}>[];
|
|
16
|
-
header: Readonly<{
|
|
17
|
-
numReadonlyNonSignerAccounts: number;
|
|
18
|
-
numReadonlySignerAccounts: number;
|
|
19
|
-
numSignerAccounts: number;
|
|
20
|
-
}>;
|
|
21
|
-
instructions: Readonly<{
|
|
22
|
-
accountIndices?: number[];
|
|
23
|
-
data?: ReadonlyUint8Array;
|
|
24
|
-
programAddressIndex: number;
|
|
25
|
-
}>[];
|
|
26
|
-
staticAccounts: Address[];
|
|
27
|
-
version: 0;
|
|
28
|
-
}> & {
|
|
29
|
-
version: 0;
|
|
30
|
-
} & Readonly<{
|
|
31
|
-
lifetimeToken: string;
|
|
32
|
-
}>;
|
|
33
|
-
}>;
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { AccountRole, fetchAddressesForLookupTables, } from "@solana/kit";
|
|
2
|
-
import { getSolanaRpc } from "..";
|
|
3
|
-
import { vaultTransactionMessageDeserialize } from "../../types";
|
|
4
|
-
function getAccountRole(message, index, accountKey, vaultPda) {
|
|
5
|
-
const isWritable = isStaticWritableIndex(message, index);
|
|
6
|
-
const isSigner = isSignerIndex(message, index) && accountKey !== vaultPda;
|
|
7
|
-
if (isWritable && isSigner) {
|
|
8
|
-
return AccountRole.WRITABLE_SIGNER;
|
|
9
|
-
}
|
|
10
|
-
else if (isWritable && !isSigner) {
|
|
11
|
-
return AccountRole.WRITABLE;
|
|
12
|
-
}
|
|
13
|
-
else if (!isWritable && isSigner) {
|
|
14
|
-
return AccountRole.READONLY_SIGNER;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
return AccountRole.READONLY;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function isStaticWritableIndex(message, index) {
|
|
21
|
-
const numAccountKeys = message.staticAccounts.length;
|
|
22
|
-
const { numSignerAccounts, numReadonlySignerAccounts, numReadonlyNonSignerAccounts, } = message.header;
|
|
23
|
-
const numWritableSigners = numSignerAccounts - numReadonlySignerAccounts;
|
|
24
|
-
const numWritableNonSigners = numAccountKeys - numSignerAccounts - numReadonlyNonSignerAccounts;
|
|
25
|
-
if (index >= numAccountKeys) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
if (index < numWritableSigners) {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
if (index >= numSignerAccounts) {
|
|
32
|
-
const indexIntoNonSigners = index - numSignerAccounts;
|
|
33
|
-
return indexIntoNonSigners < numWritableNonSigners;
|
|
34
|
-
}
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
function isSignerIndex(message, index) {
|
|
38
|
-
return index < message.header.numSignerAccounts;
|
|
39
|
-
}
|
|
40
|
-
export async function accountsForTransactionExecute({ walletAddress, transactionMessageBytes, addressesByLookupTableAddress, additionalSigners, }) {
|
|
41
|
-
const transactionMessage = vaultTransactionMessageDeserialize(transactionMessageBytes);
|
|
42
|
-
const addressLookupTableAccounts = addressesByLookupTableAddress ??
|
|
43
|
-
(transactionMessage.addressTableLookups
|
|
44
|
-
? await fetchAddressesForLookupTables(transactionMessage.addressTableLookups.map((x) => x.lookupTableAddress), getSolanaRpc())
|
|
45
|
-
: {});
|
|
46
|
-
const accountMetas = [];
|
|
47
|
-
accountMetas.push(...(transactionMessage.addressTableLookups?.map((lookup) => {
|
|
48
|
-
return {
|
|
49
|
-
role: AccountRole.READONLY,
|
|
50
|
-
address: lookup.lookupTableAddress,
|
|
51
|
-
};
|
|
52
|
-
}) ?? []));
|
|
53
|
-
for (const [accountIndex, accountKey,] of transactionMessage.staticAccounts.entries()) {
|
|
54
|
-
accountMetas.push({
|
|
55
|
-
address: accountKey,
|
|
56
|
-
role: getAccountRole(transactionMessage, accountIndex, accountKey, walletAddress),
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
if (transactionMessage.addressTableLookups) {
|
|
60
|
-
for (const lookup of transactionMessage.addressTableLookups) {
|
|
61
|
-
const lookupTableAccount = addressLookupTableAccounts[lookup.lookupTableAddress];
|
|
62
|
-
if (!lookupTableAccount) {
|
|
63
|
-
throw new Error(`Address lookup table account ${lookup.lookupTableAddress} not found`);
|
|
64
|
-
}
|
|
65
|
-
for (const accountIndex of lookup.writableIndexes) {
|
|
66
|
-
const address = lookupTableAccount[accountIndex];
|
|
67
|
-
if (!address) {
|
|
68
|
-
throw new Error(`Address lookup table account ${lookup.lookupTableAddress} does not contain address at index ${accountIndex}`);
|
|
69
|
-
}
|
|
70
|
-
accountMetas.push({
|
|
71
|
-
address,
|
|
72
|
-
role: AccountRole.WRITABLE,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
for (const accountIndex of lookup.readonlyIndexes) {
|
|
76
|
-
const address = lookupTableAccount[accountIndex];
|
|
77
|
-
if (!address) {
|
|
78
|
-
throw new Error(`Address lookup table account ${lookup.lookupTableAddress} does not contain address at index ${accountIndex}`);
|
|
79
|
-
}
|
|
80
|
-
accountMetas.push({
|
|
81
|
-
address,
|
|
82
|
-
role: AccountRole.READONLY,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
for (const signer of additionalSigners?.filter((x) => x.address !== walletAddress) ?? []) {
|
|
88
|
-
const index = accountMetas.findIndex((meta) => meta.address === signer.address);
|
|
89
|
-
if (index === -1) {
|
|
90
|
-
accountMetas.push({
|
|
91
|
-
address: signer.address,
|
|
92
|
-
role: AccountRole.READONLY_SIGNER,
|
|
93
|
-
signer,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
if (accountMetas[index].role === AccountRole.READONLY ||
|
|
98
|
-
accountMetas[index].role === AccountRole.READONLY_SIGNER) {
|
|
99
|
-
accountMetas[index] = {
|
|
100
|
-
address: signer.address,
|
|
101
|
-
role: AccountRole.READONLY_SIGNER,
|
|
102
|
-
signer,
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
else if (accountMetas[index].role === AccountRole.WRITABLE ||
|
|
106
|
-
accountMetas[index].role === AccountRole.WRITABLE_SIGNER) {
|
|
107
|
-
accountMetas[index] = {
|
|
108
|
-
address: signer.address,
|
|
109
|
-
role: AccountRole.WRITABLE_SIGNER,
|
|
110
|
-
signer,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
accountMetas,
|
|
117
|
-
addressLookupTableAccounts,
|
|
118
|
-
transactionMessage,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=internal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/utils/transactionMessage/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Address, Instruction } from "@solana/kit";
|
|
2
|
-
export declare class MessageAccountKeys {
|
|
3
|
-
private staticAccountKeys;
|
|
4
|
-
private accountKeysFromLookups;
|
|
5
|
-
constructor(staticAccountKeys: Address[], accountKeysFromLookups: {
|
|
6
|
-
writable: Address[];
|
|
7
|
-
readonly: Address[];
|
|
8
|
-
});
|
|
9
|
-
keySegments(): Address[][];
|
|
10
|
-
get(index: number): Address | undefined;
|
|
11
|
-
get length(): number;
|
|
12
|
-
compileInstructions(instructions: Instruction[]): {
|
|
13
|
-
programAddressIndex: number;
|
|
14
|
-
accountIndices: number[];
|
|
15
|
-
data: import("@solana/kit").ReadonlyUint8Array<ArrayBufferLike> | undefined;
|
|
16
|
-
}[];
|
|
17
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
export class MessageAccountKeys {
|
|
2
|
-
staticAccountKeys;
|
|
3
|
-
accountKeysFromLookups;
|
|
4
|
-
constructor(staticAccountKeys, accountKeysFromLookups) {
|
|
5
|
-
this.staticAccountKeys = staticAccountKeys;
|
|
6
|
-
this.accountKeysFromLookups = accountKeysFromLookups;
|
|
7
|
-
}
|
|
8
|
-
keySegments() {
|
|
9
|
-
const keySegments = [this.staticAccountKeys];
|
|
10
|
-
if (this.accountKeysFromLookups) {
|
|
11
|
-
keySegments.push(this.accountKeysFromLookups.writable);
|
|
12
|
-
keySegments.push(this.accountKeysFromLookups.readonly);
|
|
13
|
-
}
|
|
14
|
-
return keySegments;
|
|
15
|
-
}
|
|
16
|
-
get(index) {
|
|
17
|
-
for (const keySegment of this.keySegments()) {
|
|
18
|
-
if (index < keySegment.length) {
|
|
19
|
-
return keySegment[index];
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
index -= keySegment.length;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
get length() {
|
|
28
|
-
return this.keySegments().flat().length;
|
|
29
|
-
}
|
|
30
|
-
compileInstructions(instructions) {
|
|
31
|
-
const U8_MAX = 255;
|
|
32
|
-
if (this.length > U8_MAX + 1) {
|
|
33
|
-
throw new Error("Account index overflow encountered during compilation");
|
|
34
|
-
}
|
|
35
|
-
const keyIndexMap = new Map();
|
|
36
|
-
this.keySegments()
|
|
37
|
-
.flat()
|
|
38
|
-
.forEach((key, index) => {
|
|
39
|
-
keyIndexMap.set(key, index);
|
|
40
|
-
});
|
|
41
|
-
const findKeyIndex = (key) => {
|
|
42
|
-
const keyIndex = keyIndexMap.get(key);
|
|
43
|
-
if (keyIndex === undefined)
|
|
44
|
-
throw new Error("Encountered an unknown instruction account key during compilation");
|
|
45
|
-
return keyIndex;
|
|
46
|
-
};
|
|
47
|
-
return instructions.map((instruction) => {
|
|
48
|
-
return {
|
|
49
|
-
programAddressIndex: findKeyIndex(instruction.programAddress),
|
|
50
|
-
accountIndices: instruction.accounts?.map((meta) => findKeyIndex(meta.address)) ?? [],
|
|
51
|
-
data: instruction.data,
|
|
52
|
-
};
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=message-account-keys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message-account-keys.js","sourceRoot":"","sources":["../../../src/utils/transactionMessage/message-account-keys.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IACrB,iBAAiB,CAAY;IAC7B,sBAAsB,CAG5B;IACF,YACE,iBAA4B,EAC5B,sBAGC;QAED,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IACvD,CAAC;IAED,WAAW;QACT,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,KAAa;QACf,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC9B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAC1C,CAAC;IAED,mBAAmB,CAAC,YAA2B;QAC7C,MAAM,MAAM,GAAG,GAAG,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE;aACf,IAAI,EAAE;aACN,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACtB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACL,MAAM,YAAY,GAAG,CAAC,GAAY,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,QAAQ,KAAK,SAAS;gBACxB,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;YACJ,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,OAAO;gBACL,mBAAmB,EAAE,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC;gBAC7D,cAAc,EACZ,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;gBACvE,IAAI,EAAE,WAAW,CAAC,IAAI;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type Address } from "@solana/kit";
|
|
2
|
-
import { type Settings } from "../../generated";
|
|
3
|
-
import type { Secp256r1Key } from "../../types";
|
|
4
|
-
export declare function fetchUserAccountByFilters(domainConfigAddress: Address, { member, credentialId, }: {
|
|
5
|
-
member?: Address | Secp256r1Key | null;
|
|
6
|
-
credentialId?: string | null;
|
|
7
|
-
}): Promise<import("../..").User | null>;
|
|
8
|
-
export declare function fetchAllSettingsAccountByMember(member: Address | Secp256r1Key): Promise<Settings[]>;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { getAddressEncoder, getBase64Decoder, getBase64Encoder, } from "@solana/kit";
|
|
2
|
-
import { fetchSettings, fetchUser, getMemberKeyEncoder, getSettingsDecoder, getUserDecoder, MULTI_WALLET_PROGRAM_ADDRESS, UserRole, } from "../../generated";
|
|
3
|
-
import { getSettingsFromIndex, getUserAddress } from "../addresses";
|
|
4
|
-
import { getSolanaRpc } from "../initialize";
|
|
5
|
-
import { base64URLStringToBuffer } from "../passkeys/helper";
|
|
6
|
-
import { convertPubkeyToMemberkey } from "../transaction/internal";
|
|
7
|
-
const ACCOUNT_DISCRIMINATOR_SIZE = 8;
|
|
8
|
-
const OPTION_SOME_TAG = 1;
|
|
9
|
-
const MEMBER_KEY_SIZE = 34;
|
|
10
|
-
const OPTION_VEC_PREFIX_SIZE = 5;
|
|
11
|
-
const USER_DOMAIN_CONFIG_OFFSET = ACCOUNT_DISCRIMINATOR_SIZE + OPTION_SOME_TAG;
|
|
12
|
-
const USER_MEMBER_OFFSET = ACCOUNT_DISCRIMINATOR_SIZE + OPTION_SOME_TAG + 32;
|
|
13
|
-
const USER_CREDENTIAL_ID_OFFSET = USER_MEMBER_OFFSET + MEMBER_KEY_SIZE + OPTION_VEC_PREFIX_SIZE;
|
|
14
|
-
const SETTINGS_MEMBER_OFFSET = 20;
|
|
15
|
-
export async function fetchUserAccountByFilters(domainConfigAddress, { member, credentialId, }) {
|
|
16
|
-
let filters = [
|
|
17
|
-
{
|
|
18
|
-
memcmp: {
|
|
19
|
-
offset: BigInt(USER_DOMAIN_CONFIG_OFFSET),
|
|
20
|
-
encoding: "base64",
|
|
21
|
-
bytes: getBase64Decoder().decode(getAddressEncoder().encode(domainConfigAddress)),
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
];
|
|
25
|
-
if (member) {
|
|
26
|
-
filters.push({
|
|
27
|
-
memcmp: {
|
|
28
|
-
offset: BigInt(USER_MEMBER_OFFSET),
|
|
29
|
-
encoding: "base64",
|
|
30
|
-
bytes: getBase64Decoder().decode(getMemberKeyEncoder().encode(convertPubkeyToMemberkey(member))),
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
else if (credentialId) {
|
|
35
|
-
filters.push({
|
|
36
|
-
memcmp: {
|
|
37
|
-
offset: BigInt(USER_CREDENTIAL_ID_OFFSET),
|
|
38
|
-
encoding: "base64",
|
|
39
|
-
bytes: getBase64Decoder().decode(base64URLStringToBuffer(credentialId)),
|
|
40
|
-
},
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
const result = await getSolanaRpc()
|
|
47
|
-
.getProgramAccounts(MULTI_WALLET_PROGRAM_ADDRESS, {
|
|
48
|
-
filters,
|
|
49
|
-
encoding: "base64",
|
|
50
|
-
})
|
|
51
|
-
.send();
|
|
52
|
-
if (!result.length) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
return result.map((x) => getUserDecoder().decode(getBase64Encoder().encode(x.account.data[0])))[0];
|
|
56
|
-
}
|
|
57
|
-
export async function fetchAllSettingsAccountByMember(member) {
|
|
58
|
-
const user = (await fetchUser(getSolanaRpc(), await getUserAddress(member)))
|
|
59
|
-
.data;
|
|
60
|
-
if (user.role === UserRole.Administrator ||
|
|
61
|
-
user.role === UserRole.TransactionManager) {
|
|
62
|
-
const settingsAccount = [];
|
|
63
|
-
const accounts = await getSolanaRpc()
|
|
64
|
-
.getProgramAccounts(MULTI_WALLET_PROGRAM_ADDRESS, {
|
|
65
|
-
encoding: "base64",
|
|
66
|
-
filters: [
|
|
67
|
-
{
|
|
68
|
-
memcmp: {
|
|
69
|
-
offset: BigInt(SETTINGS_MEMBER_OFFSET),
|
|
70
|
-
encoding: "base64",
|
|
71
|
-
bytes: getBase64Decoder().decode(getMemberKeyEncoder().encode(convertPubkeyToMemberkey(member))),
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
],
|
|
75
|
-
})
|
|
76
|
-
.send();
|
|
77
|
-
accounts.forEach((x) => {
|
|
78
|
-
const data = getSettingsDecoder().decode(getBase64Encoder().encode(x.account.data[0]));
|
|
79
|
-
settingsAccount.push({ ...data });
|
|
80
|
-
});
|
|
81
|
-
return settingsAccount;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return await Promise.all(user.wallets.map(async (x) => (await fetchSettings(getSolanaRpc(), await getSettingsFromIndex(x.index))).data));
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=helper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/utils/user/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./helper";
|
package/dist/utils/user/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/user/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare function requireInRange(value: number, min: number, max: number, name: string): void;
|
|
2
|
-
export declare function requireNonNegative(value: number, name: string): void;
|
|
3
|
-
export declare function requireNonEmpty<T>(array: readonly T[], name: string): asserts array is readonly [T, ...T[]];
|
|
4
|
-
export declare function requireNonEmptyString(value: string, name: string): asserts value is string;
|
package/dist/utils/validation.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ValidationError } from "../errors";
|
|
2
|
-
export function requireInRange(value, min, max, name) {
|
|
3
|
-
if (value < min || value > max) {
|
|
4
|
-
throw new ValidationError(`${name} must be between ${min} and ${max} (inclusive), got ${value}`);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export function requireNonNegative(value, name) {
|
|
8
|
-
if (value < 0) {
|
|
9
|
-
throw new ValidationError(`${name} must be non-negative, got ${value}`);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export function requireNonEmpty(array, name) {
|
|
13
|
-
if (array.length === 0) {
|
|
14
|
-
throw new ValidationError(`${name} cannot be empty`);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export function requireNonEmptyString(value, name) {
|
|
18
|
-
if (value.trim().length === 0) {
|
|
19
|
-
throw new ValidationError(`${name} cannot be empty`);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAU5C,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,GAAW,EACX,GAAW,EACX,IAAY;IAEZ,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CACvB,GAAG,IAAI,oBAAoB,GAAG,QAAQ,GAAG,qBAAqB,KAAK,EAAE,CACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAQD,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,IAAY;IAC5D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CAAC,GAAG,IAAI,8BAA8B,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAQD,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,IAAY;IAEZ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAQD,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,IAAY;IAEZ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAe,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|