@trixter-osec/core 0.40.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/README.md +10 -0
- package/dist/browser/index.js +7217 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/src/coder/borsh/accounts.d.ts +27 -0
- package/dist/browser/src/coder/borsh/accounts.d.ts.map +1 -0
- package/dist/browser/src/coder/borsh/event.d.ts +14 -0
- package/dist/browser/src/coder/borsh/event.d.ts.map +1 -0
- package/dist/browser/src/coder/borsh/idl.d.ts +32 -0
- package/dist/browser/src/coder/borsh/idl.d.ts.map +1 -0
- package/dist/browser/src/coder/borsh/index.d.ts +33 -0
- package/dist/browser/src/coder/borsh/index.d.ts.map +1 -0
- package/dist/browser/src/coder/borsh/instruction.d.ts +42 -0
- package/dist/browser/src/coder/borsh/instruction.d.ts.map +1 -0
- package/dist/browser/src/coder/borsh/types.d.ts +16 -0
- package/dist/browser/src/coder/borsh/types.d.ts.map +1 -0
- package/dist/browser/src/coder/index.d.ts +43 -0
- package/dist/browser/src/coder/index.d.ts.map +1 -0
- package/dist/browser/src/coder/system/accounts.d.ts +12 -0
- package/dist/browser/src/coder/system/accounts.d.ts.map +1 -0
- package/dist/browser/src/coder/system/events.d.ts +9 -0
- package/dist/browser/src/coder/system/events.d.ts.map +1 -0
- package/dist/browser/src/coder/system/index.d.ts +17 -0
- package/dist/browser/src/coder/system/index.d.ts.map +1 -0
- package/dist/browser/src/coder/system/instruction.d.ts +8 -0
- package/dist/browser/src/coder/system/instruction.d.ts.map +1 -0
- package/dist/browser/src/coder/system/types.d.ts +8 -0
- package/dist/browser/src/coder/system/types.d.ts.map +1 -0
- package/dist/browser/src/error.d.ts +128 -0
- package/dist/browser/src/error.d.ts.map +1 -0
- package/dist/browser/src/idl.d.ts +215 -0
- package/dist/browser/src/idl.d.ts.map +1 -0
- package/dist/browser/src/index.d.ts +16 -0
- package/dist/browser/src/index.d.ts.map +1 -0
- package/dist/browser/src/native/index.d.ts +7 -0
- package/dist/browser/src/native/index.d.ts.map +1 -0
- package/dist/browser/src/native/system.d.ts +390 -0
- package/dist/browser/src/native/system.d.ts.map +1 -0
- package/dist/browser/src/nodewallet.d.ts +14 -0
- package/dist/browser/src/nodewallet.d.ts.map +1 -0
- package/dist/browser/src/program/accounts-resolver.d.ts +63 -0
- package/dist/browser/src/program/accounts-resolver.d.ts.map +1 -0
- package/dist/browser/src/program/common.d.ts +20 -0
- package/dist/browser/src/program/common.d.ts.map +1 -0
- package/dist/browser/src/program/context.d.ts +63 -0
- package/dist/browser/src/program/context.d.ts.map +1 -0
- package/dist/browser/src/program/event.d.ts +59 -0
- package/dist/browser/src/program/event.d.ts.map +1 -0
- package/dist/browser/src/program/index.d.ts +272 -0
- package/dist/browser/src/program/index.d.ts.map +1 -0
- package/dist/browser/src/program/namespace/account.d.ts +146 -0
- package/dist/browser/src/program/namespace/account.d.ts.map +1 -0
- package/dist/browser/src/program/namespace/index.d.ts +35 -0
- package/dist/browser/src/program/namespace/index.d.ts.map +1 -0
- package/dist/browser/src/program/namespace/instruction.d.ts +57 -0
- package/dist/browser/src/program/namespace/instruction.d.ts.map +1 -0
- package/dist/browser/src/program/namespace/methods.d.ts +206 -0
- package/dist/browser/src/program/namespace/methods.d.ts.map +1 -0
- package/dist/browser/src/program/namespace/rpc.d.ts +49 -0
- package/dist/browser/src/program/namespace/rpc.d.ts.map +1 -0
- package/dist/browser/src/program/namespace/simulate.d.ts +57 -0
- package/dist/browser/src/program/namespace/simulate.d.ts.map +1 -0
- package/dist/browser/src/program/namespace/transaction.d.ts +42 -0
- package/dist/browser/src/program/namespace/transaction.d.ts.map +1 -0
- package/dist/browser/src/program/namespace/types.d.ts +153 -0
- package/dist/browser/src/program/namespace/types.d.ts.map +1 -0
- package/dist/browser/src/program/namespace/views.d.ts +15 -0
- package/dist/browser/src/program/namespace/views.d.ts.map +1 -0
- package/dist/browser/src/program/token-account-layout.d.ts +2 -0
- package/dist/browser/src/program/token-account-layout.d.ts.map +1 -0
- package/dist/browser/src/provider.d.ts +104 -0
- package/dist/browser/src/provider.d.ts.map +1 -0
- package/dist/browser/src/utils/bytes/base64.d.ts +4 -0
- package/dist/browser/src/utils/bytes/base64.d.ts.map +1 -0
- package/dist/browser/src/utils/bytes/bs58.d.ts +3 -0
- package/dist/browser/src/utils/bytes/bs58.d.ts.map +1 -0
- package/dist/browser/src/utils/bytes/hex.d.ts +4 -0
- package/dist/browser/src/utils/bytes/hex.d.ts.map +1 -0
- package/dist/browser/src/utils/bytes/index.d.ts +5 -0
- package/dist/browser/src/utils/bytes/index.d.ts.map +1 -0
- package/dist/browser/src/utils/bytes/utf8.d.ts +3 -0
- package/dist/browser/src/utils/bytes/utf8.d.ts.map +1 -0
- package/dist/browser/src/utils/common.d.ts +22 -0
- package/dist/browser/src/utils/common.d.ts.map +1 -0
- package/dist/browser/src/utils/features.d.ts +3 -0
- package/dist/browser/src/utils/features.d.ts.map +1 -0
- package/dist/browser/src/utils/index.d.ts +8 -0
- package/dist/browser/src/utils/index.d.ts.map +1 -0
- package/dist/browser/src/utils/pubkey.d.ts +3 -0
- package/dist/browser/src/utils/pubkey.d.ts.map +1 -0
- package/dist/browser/src/utils/registry.d.ts +34 -0
- package/dist/browser/src/utils/registry.d.ts.map +1 -0
- package/dist/browser/src/utils/rpc.d.ts +21 -0
- package/dist/browser/src/utils/rpc.d.ts.map +1 -0
- package/dist/browser/src/utils/sha256.d.ts +2 -0
- package/dist/browser/src/utils/sha256.d.ts.map +1 -0
- package/dist/browser/src/utils/token.d.ts +8 -0
- package/dist/browser/src/utils/token.d.ts.map +1 -0
- package/dist/browser/src/workspace.d.ts +14 -0
- package/dist/browser/src/workspace.d.ts.map +1 -0
- package/dist/cjs/coder/borsh/accounts.d.ts +27 -0
- package/dist/cjs/coder/borsh/accounts.d.ts.map +1 -0
- package/dist/cjs/coder/borsh/accounts.js +103 -0
- package/dist/cjs/coder/borsh/accounts.js.map +1 -0
- package/dist/cjs/coder/borsh/event.d.ts +14 -0
- package/dist/cjs/coder/borsh/event.d.ts.map +1 -0
- package/dist/cjs/coder/borsh/event.js +78 -0
- package/dist/cjs/coder/borsh/event.js.map +1 -0
- package/dist/cjs/coder/borsh/idl.d.ts +32 -0
- package/dist/cjs/coder/borsh/idl.d.ts.map +1 -0
- package/dist/cjs/coder/borsh/idl.js +419 -0
- package/dist/cjs/coder/borsh/idl.js.map +1 -0
- package/dist/cjs/coder/borsh/index.d.ts +33 -0
- package/dist/cjs/coder/borsh/index.d.ts.map +1 -0
- package/dist/cjs/coder/borsh/index.js +27 -0
- package/dist/cjs/coder/borsh/index.js.map +1 -0
- package/dist/cjs/coder/borsh/instruction.d.ts +42 -0
- package/dist/cjs/coder/borsh/instruction.d.ts.map +1 -0
- package/dist/cjs/coder/borsh/instruction.js +274 -0
- package/dist/cjs/coder/borsh/instruction.js.map +1 -0
- package/dist/cjs/coder/borsh/types.d.ts +16 -0
- package/dist/cjs/coder/borsh/types.d.ts.map +1 -0
- package/dist/cjs/coder/borsh/types.js +42 -0
- package/dist/cjs/coder/borsh/types.js.map +1 -0
- package/dist/cjs/coder/index.d.ts +43 -0
- package/dist/cjs/coder/index.d.ts.map +1 -0
- package/dist/cjs/coder/index.js +19 -0
- package/dist/cjs/coder/index.js.map +1 -0
- package/dist/cjs/coder/system/accounts.d.ts +12 -0
- package/dist/cjs/coder/system/accounts.d.ts.map +1 -0
- package/dist/cjs/coder/system/accounts.js +107 -0
- package/dist/cjs/coder/system/accounts.js.map +1 -0
- package/dist/cjs/coder/system/events.d.ts +9 -0
- package/dist/cjs/coder/system/events.d.ts.map +1 -0
- package/dist/cjs/coder/system/events.js +11 -0
- package/dist/cjs/coder/system/events.js.map +1 -0
- package/dist/cjs/coder/system/index.d.ts +17 -0
- package/dist/cjs/coder/system/index.d.ts.map +1 -0
- package/dist/cjs/coder/system/index.js +20 -0
- package/dist/cjs/coder/system/index.js.map +1 -0
- package/dist/cjs/coder/system/instruction.d.ts +8 -0
- package/dist/cjs/coder/system/instruction.d.ts.map +1 -0
- package/dist/cjs/coder/system/instruction.js +242 -0
- package/dist/cjs/coder/system/instruction.js.map +1 -0
- package/dist/cjs/coder/system/types.d.ts +8 -0
- package/dist/cjs/coder/system/types.d.ts.map +1 -0
- package/dist/cjs/coder/system/types.js +14 -0
- package/dist/cjs/coder/system/types.js.map +1 -0
- package/dist/cjs/error.d.ts +128 -0
- package/dist/cjs/error.d.ts.map +1 -0
- package/dist/cjs/error.js +568 -0
- package/dist/cjs/error.js.map +1 -0
- package/dist/cjs/idl.d.ts +215 -0
- package/dist/cjs/idl.d.ts.map +1 -0
- package/dist/cjs/idl.js +112 -0
- package/dist/cjs/idl.js.map +1 -0
- package/dist/cjs/index.d.ts +16 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +51 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/native/index.d.ts +7 -0
- package/dist/cjs/native/index.d.ts.map +1 -0
- package/dist/cjs/native/index.js +11 -0
- package/dist/cjs/native/index.js.map +1 -0
- package/dist/cjs/native/system.d.ts +390 -0
- package/dist/cjs/native/system.d.ts.map +1 -0
- package/dist/cjs/native/system.js +394 -0
- package/dist/cjs/native/system.js.map +1 -0
- package/dist/cjs/nodewallet.d.ts +14 -0
- package/dist/cjs/nodewallet.d.ts.map +1 -0
- package/dist/cjs/nodewallet.js +48 -0
- package/dist/cjs/nodewallet.js.map +1 -0
- package/dist/cjs/program/accounts-resolver.d.ts +63 -0
- package/dist/cjs/program/accounts-resolver.d.ts.map +1 -0
- package/dist/cjs/program/accounts-resolver.js +437 -0
- package/dist/cjs/program/accounts-resolver.js.map +1 -0
- package/dist/cjs/program/common.d.ts +20 -0
- package/dist/cjs/program/common.d.ts.map +1 -0
- package/dist/cjs/program/common.js +49 -0
- package/dist/cjs/program/common.js.map +1 -0
- package/dist/cjs/program/context.d.ts +63 -0
- package/dist/cjs/program/context.d.ts.map +1 -0
- package/dist/cjs/program/context.js +16 -0
- package/dist/cjs/program/context.js.map +1 -0
- package/dist/cjs/program/event.d.ts +59 -0
- package/dist/cjs/program/event.d.ts.map +1 -0
- package/dist/cjs/program/event.js +227 -0
- package/dist/cjs/program/event.js.map +1 -0
- package/dist/cjs/program/index.d.ts +272 -0
- package/dist/cjs/program/index.d.ts.map +1 -0
- package/dist/cjs/program/index.js +177 -0
- package/dist/cjs/program/index.js.map +1 -0
- package/dist/cjs/program/namespace/account.d.ts +146 -0
- package/dist/cjs/program/namespace/account.d.ts.map +1 -0
- package/dist/cjs/program/namespace/account.js +257 -0
- package/dist/cjs/program/namespace/account.js.map +1 -0
- package/dist/cjs/program/namespace/index.d.ts +35 -0
- package/dist/cjs/program/namespace/index.d.ts.map +1 -0
- package/dist/cjs/program/namespace/index.js +63 -0
- package/dist/cjs/program/namespace/index.js.map +1 -0
- package/dist/cjs/program/namespace/instruction.d.ts +57 -0
- package/dist/cjs/program/namespace/instruction.d.ts.map +1 -0
- package/dist/cjs/program/namespace/instruction.js +94 -0
- package/dist/cjs/program/namespace/instruction.js.map +1 -0
- package/dist/cjs/program/namespace/methods.d.ts +206 -0
- package/dist/cjs/program/namespace/methods.d.ts.map +1 -0
- package/dist/cjs/program/namespace/methods.js +309 -0
- package/dist/cjs/program/namespace/methods.js.map +1 -0
- package/dist/cjs/program/namespace/rpc.d.ts +49 -0
- package/dist/cjs/program/namespace/rpc.d.ts.map +1 -0
- package/dist/cjs/program/namespace/rpc.js +25 -0
- package/dist/cjs/program/namespace/rpc.js.map +1 -0
- package/dist/cjs/program/namespace/simulate.d.ts +57 -0
- package/dist/cjs/program/namespace/simulate.d.ts.map +1 -0
- package/dist/cjs/program/namespace/simulate.js +42 -0
- package/dist/cjs/program/namespace/simulate.js.map +1 -0
- package/dist/cjs/program/namespace/transaction.d.ts +42 -0
- package/dist/cjs/program/namespace/transaction.d.ts.map +1 -0
- package/dist/cjs/program/namespace/transaction.js +24 -0
- package/dist/cjs/program/namespace/transaction.js.map +1 -0
- package/dist/cjs/program/namespace/types.d.ts +153 -0
- package/dist/cjs/program/namespace/types.d.ts.map +1 -0
- package/dist/cjs/program/namespace/types.js +3 -0
- package/dist/cjs/program/namespace/types.js.map +1 -0
- package/dist/cjs/program/namespace/views.d.ts +15 -0
- package/dist/cjs/program/namespace/views.d.ts.map +1 -0
- package/dist/cjs/program/namespace/views.js +30 -0
- package/dist/cjs/program/namespace/views.js.map +1 -0
- package/dist/cjs/program/token-account-layout.d.ts +2 -0
- package/dist/cjs/program/token-account-layout.d.ts.map +1 -0
- package/dist/cjs/program/token-account-layout.js +136 -0
- package/dist/cjs/program/token-account-layout.js.map +1 -0
- package/dist/cjs/provider.d.ts +104 -0
- package/dist/cjs/provider.d.ts.map +1 -0
- package/dist/cjs/provider.js +312 -0
- package/dist/cjs/provider.js.map +1 -0
- package/dist/cjs/utils/bytes/base64.d.ts +4 -0
- package/dist/cjs/utils/bytes/base64.d.ts.map +1 -0
- package/dist/cjs/utils/bytes/base64.js +12 -0
- package/dist/cjs/utils/bytes/base64.js.map +1 -0
- package/dist/cjs/utils/bytes/bs58.d.ts +3 -0
- package/dist/cjs/utils/bytes/bs58.d.ts.map +1 -0
- package/dist/cjs/utils/bytes/bs58.js +15 -0
- package/dist/cjs/utils/bytes/bs58.js.map +1 -0
- package/dist/cjs/utils/bytes/hex.d.ts +4 -0
- package/dist/cjs/utils/bytes/hex.d.ts.map +1 -0
- package/dist/cjs/utils/bytes/hex.js +22 -0
- package/dist/cjs/utils/bytes/hex.js.map +1 -0
- package/dist/cjs/utils/bytes/index.d.ts +5 -0
- package/dist/cjs/utils/bytes/index.d.ts.map +1 -0
- package/dist/cjs/utils/bytes/index.js +31 -0
- package/dist/cjs/utils/bytes/index.js.map +1 -0
- package/dist/cjs/utils/bytes/utf8.d.ts +3 -0
- package/dist/cjs/utils/bytes/utf8.d.ts.map +1 -0
- package/dist/cjs/utils/bytes/utf8.js +18 -0
- package/dist/cjs/utils/bytes/utf8.js.map +1 -0
- package/dist/cjs/utils/common.d.ts +22 -0
- package/dist/cjs/utils/common.d.ts.map +1 -0
- package/dist/cjs/utils/common.js +32 -0
- package/dist/cjs/utils/common.js.map +1 -0
- package/dist/cjs/utils/features.d.ts +3 -0
- package/dist/cjs/utils/features.d.ts.map +1 -0
- package/dist/cjs/utils/features.js +16 -0
- package/dist/cjs/utils/features.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +8 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +34 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/pubkey.d.ts +3 -0
- package/dist/cjs/utils/pubkey.d.ts.map +1 -0
- package/dist/cjs/utils/pubkey.js +16 -0
- package/dist/cjs/utils/pubkey.js.map +1 -0
- package/dist/cjs/utils/registry.d.ts +34 -0
- package/dist/cjs/utils/registry.d.ts.map +1 -0
- package/dist/cjs/utils/registry.js +88 -0
- package/dist/cjs/utils/registry.js.map +1 -0
- package/dist/cjs/utils/rpc.d.ts +21 -0
- package/dist/cjs/utils/rpc.d.ts.map +1 -0
- package/dist/cjs/utils/rpc.js +167 -0
- package/dist/cjs/utils/rpc.js.map +1 -0
- package/dist/cjs/utils/sha256.d.ts +2 -0
- package/dist/cjs/utils/sha256.d.ts.map +1 -0
- package/dist/cjs/utils/sha256.js +8 -0
- package/dist/cjs/utils/sha256.js.map +1 -0
- package/dist/cjs/utils/token.d.ts +8 -0
- package/dist/cjs/utils/token.d.ts.map +1 -0
- package/dist/cjs/utils/token.js +11 -0
- package/dist/cjs/utils/token.js.map +1 -0
- package/dist/cjs/workspace.d.ts +14 -0
- package/dist/cjs/workspace.d.ts.map +1 -0
- package/dist/cjs/workspace.js +98 -0
- package/dist/cjs/workspace.js.map +1 -0
- package/dist/esm/coder/borsh/accounts.d.ts +27 -0
- package/dist/esm/coder/borsh/accounts.d.ts.map +1 -0
- package/dist/esm/coder/borsh/accounts.js +96 -0
- package/dist/esm/coder/borsh/accounts.js.map +1 -0
- package/dist/esm/coder/borsh/event.d.ts +14 -0
- package/dist/esm/coder/borsh/event.d.ts.map +1 -0
- package/dist/esm/coder/borsh/event.js +51 -0
- package/dist/esm/coder/borsh/event.js.map +1 -0
- package/dist/esm/coder/borsh/idl.d.ts +32 -0
- package/dist/esm/coder/borsh/idl.d.ts.map +1 -0
- package/dist/esm/coder/borsh/idl.js +392 -0
- package/dist/esm/coder/borsh/idl.js.map +1 -0
- package/dist/esm/coder/borsh/index.d.ts +33 -0
- package/dist/esm/coder/borsh/index.d.ts.map +1 -0
- package/dist/esm/coder/borsh/index.js +20 -0
- package/dist/esm/coder/borsh/index.js.map +1 -0
- package/dist/esm/coder/borsh/instruction.d.ts +42 -0
- package/dist/esm/coder/borsh/instruction.d.ts.map +1 -0
- package/dist/esm/coder/borsh/instruction.js +244 -0
- package/dist/esm/coder/borsh/instruction.js.map +1 -0
- package/dist/esm/coder/borsh/types.d.ts +16 -0
- package/dist/esm/coder/borsh/types.d.ts.map +1 -0
- package/dist/esm/coder/borsh/types.js +38 -0
- package/dist/esm/coder/borsh/types.js.map +1 -0
- package/dist/esm/coder/index.d.ts +43 -0
- package/dist/esm/coder/index.d.ts.map +1 -0
- package/dist/esm/coder/index.js +3 -0
- package/dist/esm/coder/index.js.map +1 -0
- package/dist/esm/coder/system/accounts.d.ts +12 -0
- package/dist/esm/coder/system/accounts.d.ts.map +1 -0
- package/dist/esm/coder/system/accounts.js +80 -0
- package/dist/esm/coder/system/accounts.js.map +1 -0
- package/dist/esm/coder/system/events.d.ts +9 -0
- package/dist/esm/coder/system/events.d.ts.map +1 -0
- package/dist/esm/coder/system/events.js +7 -0
- package/dist/esm/coder/system/events.js.map +1 -0
- package/dist/esm/coder/system/index.d.ts +17 -0
- package/dist/esm/coder/system/index.d.ts.map +1 -0
- package/dist/esm/coder/system/index.js +16 -0
- package/dist/esm/coder/system/index.js.map +1 -0
- package/dist/esm/coder/system/instruction.d.ts +8 -0
- package/dist/esm/coder/system/instruction.d.ts.map +1 -0
- package/dist/esm/coder/system/instruction.js +212 -0
- package/dist/esm/coder/system/instruction.js.map +1 -0
- package/dist/esm/coder/system/types.d.ts +8 -0
- package/dist/esm/coder/system/types.d.ts.map +1 -0
- package/dist/esm/coder/system/types.js +10 -0
- package/dist/esm/coder/system/types.js.map +1 -0
- package/dist/esm/error.d.ts +128 -0
- package/dist/esm/error.d.ts.map +1 -0
- package/dist/esm/error.js +537 -0
- package/dist/esm/error.js.map +1 -0
- package/dist/esm/idl.d.ts +215 -0
- package/dist/esm/idl.d.ts.map +1 -0
- package/dist/esm/idl.js +77 -0
- package/dist/esm/idl.js.map +1 -0
- package/dist/esm/index.d.ts +16 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/native/index.d.ts +7 -0
- package/dist/esm/native/index.d.ts.map +1 -0
- package/dist/esm/native/index.js +7 -0
- package/dist/esm/native/index.js.map +1 -0
- package/dist/esm/native/system.d.ts +390 -0
- package/dist/esm/native/system.d.ts.map +1 -0
- package/dist/esm/native/system.js +389 -0
- package/dist/esm/native/system.js.map +1 -0
- package/dist/esm/nodewallet.d.ts +14 -0
- package/dist/esm/nodewallet.d.ts.map +1 -0
- package/dist/esm/nodewallet.js +45 -0
- package/dist/esm/nodewallet.js.map +1 -0
- package/dist/esm/program/accounts-resolver.d.ts +63 -0
- package/dist/esm/program/accounts-resolver.d.ts.map +1 -0
- package/dist/esm/program/accounts-resolver.js +429 -0
- package/dist/esm/program/accounts-resolver.js.map +1 -0
- package/dist/esm/program/common.d.ts +20 -0
- package/dist/esm/program/common.d.ts.map +1 -0
- package/dist/esm/program/common.js +43 -0
- package/dist/esm/program/common.js.map +1 -0
- package/dist/esm/program/context.d.ts +63 -0
- package/dist/esm/program/context.d.ts.map +1 -0
- package/dist/esm/program/context.js +13 -0
- package/dist/esm/program/context.js.map +1 -0
- package/dist/esm/program/event.d.ts +59 -0
- package/dist/esm/program/event.d.ts.map +1 -0
- package/dist/esm/program/event.js +222 -0
- package/dist/esm/program/event.js.map +1 -0
- package/dist/esm/program/index.d.ts +272 -0
- package/dist/esm/program/index.d.ts.map +1 -0
- package/dist/esm/program/index.js +156 -0
- package/dist/esm/program/index.js.map +1 -0
- package/dist/esm/program/namespace/account.d.ts +146 -0
- package/dist/esm/program/namespace/account.d.ts.map +1 -0
- package/dist/esm/program/namespace/account.js +226 -0
- package/dist/esm/program/namespace/account.js.map +1 -0
- package/dist/esm/program/namespace/index.d.ts +35 -0
- package/dist/esm/program/namespace/index.d.ts.map +1 -0
- package/dist/esm/program/namespace/index.js +54 -0
- package/dist/esm/program/namespace/index.js.map +1 -0
- package/dist/esm/program/namespace/instruction.d.ts +57 -0
- package/dist/esm/program/namespace/instruction.d.ts.map +1 -0
- package/dist/esm/program/namespace/instruction.js +68 -0
- package/dist/esm/program/namespace/instruction.js.map +1 -0
- package/dist/esm/program/namespace/methods.d.ts +206 -0
- package/dist/esm/program/namespace/methods.d.ts.map +1 -0
- package/dist/esm/program/namespace/methods.js +302 -0
- package/dist/esm/program/namespace/methods.js.map +1 -0
- package/dist/esm/program/namespace/rpc.d.ts +49 -0
- package/dist/esm/program/namespace/rpc.d.ts.map +1 -0
- package/dist/esm/program/namespace/rpc.js +22 -0
- package/dist/esm/program/namespace/rpc.js.map +1 -0
- package/dist/esm/program/namespace/simulate.d.ts +57 -0
- package/dist/esm/program/namespace/simulate.d.ts.map +1 -0
- package/dist/esm/program/namespace/simulate.js +39 -0
- package/dist/esm/program/namespace/simulate.js.map +1 -0
- package/dist/esm/program/namespace/transaction.d.ts +42 -0
- package/dist/esm/program/namespace/transaction.d.ts.map +1 -0
- package/dist/esm/program/namespace/transaction.js +21 -0
- package/dist/esm/program/namespace/transaction.js.map +1 -0
- package/dist/esm/program/namespace/types.d.ts +153 -0
- package/dist/esm/program/namespace/types.d.ts.map +1 -0
- package/dist/esm/program/namespace/types.js +2 -0
- package/dist/esm/program/namespace/types.js.map +1 -0
- package/dist/esm/program/namespace/views.d.ts +15 -0
- package/dist/esm/program/namespace/views.d.ts.map +1 -0
- package/dist/esm/program/namespace/views.js +27 -0
- package/dist/esm/program/namespace/views.js.map +1 -0
- package/dist/esm/program/token-account-layout.d.ts +2 -0
- package/dist/esm/program/token-account-layout.d.ts.map +1 -0
- package/dist/esm/program/token-account-layout.js +107 -0
- package/dist/esm/program/token-account-layout.js.map +1 -0
- package/dist/esm/provider.d.ts +104 -0
- package/dist/esm/provider.d.ts.map +1 -0
- package/dist/esm/provider.js +306 -0
- package/dist/esm/provider.js.map +1 -0
- package/dist/esm/utils/bytes/base64.d.ts +4 -0
- package/dist/esm/utils/bytes/base64.d.ts.map +1 -0
- package/dist/esm/utils/bytes/base64.js +8 -0
- package/dist/esm/utils/bytes/base64.js.map +1 -0
- package/dist/esm/utils/bytes/bs58.d.ts +3 -0
- package/dist/esm/utils/bytes/bs58.d.ts.map +1 -0
- package/dist/esm/utils/bytes/bs58.js +8 -0
- package/dist/esm/utils/bytes/bs58.js.map +1 -0
- package/dist/esm/utils/bytes/hex.d.ts +4 -0
- package/dist/esm/utils/bytes/hex.d.ts.map +1 -0
- package/dist/esm/utils/bytes/hex.js +18 -0
- package/dist/esm/utils/bytes/hex.js.map +1 -0
- package/dist/esm/utils/bytes/index.d.ts +5 -0
- package/dist/esm/utils/bytes/index.d.ts.map +1 -0
- package/dist/esm/utils/bytes/index.js +5 -0
- package/dist/esm/utils/bytes/index.js.map +1 -0
- package/dist/esm/utils/bytes/utf8.d.ts +3 -0
- package/dist/esm/utils/bytes/utf8.d.ts.map +1 -0
- package/dist/esm/utils/bytes/utf8.js +14 -0
- package/dist/esm/utils/bytes/utf8.js.map +1 -0
- package/dist/esm/utils/common.d.ts +22 -0
- package/dist/esm/utils/common.d.ts.map +1 -0
- package/dist/esm/utils/common.js +27 -0
- package/dist/esm/utils/common.js.map +1 -0
- package/dist/esm/utils/features.d.ts +3 -0
- package/dist/esm/utils/features.d.ts.map +1 -0
- package/dist/esm/utils/features.js +12 -0
- package/dist/esm/utils/features.js.map +1 -0
- package/dist/esm/utils/index.d.ts +8 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +8 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/pubkey.d.ts +3 -0
- package/dist/esm/utils/pubkey.d.ts.map +1 -0
- package/dist/esm/utils/pubkey.js +13 -0
- package/dist/esm/utils/pubkey.js.map +1 -0
- package/dist/esm/utils/registry.d.ts +34 -0
- package/dist/esm/utils/registry.d.ts.map +1 -0
- package/dist/esm/utils/registry.js +57 -0
- package/dist/esm/utils/registry.js.map +1 -0
- package/dist/esm/utils/rpc.d.ts +21 -0
- package/dist/esm/utils/rpc.d.ts.map +1 -0
- package/dist/esm/utils/rpc.js +161 -0
- package/dist/esm/utils/rpc.js.map +1 -0
- package/dist/esm/utils/sha256.d.ts +2 -0
- package/dist/esm/utils/sha256.d.ts.map +1 -0
- package/dist/esm/utils/sha256.js +5 -0
- package/dist/esm/utils/sha256.js.map +1 -0
- package/dist/esm/utils/token.d.ts +8 -0
- package/dist/esm/utils/token.d.ts.map +1 -0
- package/dist/esm/utils/token.js +7 -0
- package/dist/esm/utils/token.js.map +1 -0
- package/dist/esm/workspace.d.ts +14 -0
- package/dist/esm/workspace.d.ts.map +1 -0
- package/dist/esm/workspace.js +70 -0
- package/dist/esm/workspace.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +84 -0
- package/types/buffer-layout/index.d.ts +88 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { AccountMeta, PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import { Idl, IdlInstructionAccountItem, IdlInstruction } from "../../idl.js";
|
|
3
|
+
import { Accounts } from "../context.js";
|
|
4
|
+
import { AllInstructions, AllInstructionsMap, InstructionContextFn, MakeInstructionsNamespace } from "./types.js";
|
|
5
|
+
export default class InstructionNamespaceFactory {
|
|
6
|
+
static build<IDL extends Idl, I extends AllInstructions<IDL>>(idlIx: I, encodeFn: InstructionEncodeFn<I>, programId: PublicKey): InstructionFn<IDL, I>;
|
|
7
|
+
static accountsArray(ctx: Accounts | undefined, accounts: readonly IdlInstructionAccountItem[], programId: PublicKey, ixName?: string): AccountMeta[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The namespace provides functions to build [[TransactionInstruction]]
|
|
11
|
+
* objects for each method of a program.
|
|
12
|
+
*
|
|
13
|
+
* ## Usage
|
|
14
|
+
*
|
|
15
|
+
* ```javascript
|
|
16
|
+
* instruction.<method>(...args, ctx);
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* ## Parameters
|
|
20
|
+
*
|
|
21
|
+
* 1. `args` - The positional arguments for the program. The type and number
|
|
22
|
+
* of these arguments depend on the program being used.
|
|
23
|
+
* 2. `ctx` - [[Context]] non-argument parameters to pass to the method.
|
|
24
|
+
* Always the last parameter in the method call.
|
|
25
|
+
*
|
|
26
|
+
* ## Example
|
|
27
|
+
*
|
|
28
|
+
* To create an instruction for the `increment` method above,
|
|
29
|
+
*
|
|
30
|
+
* ```javascript
|
|
31
|
+
* const tx = await program.instruction.increment({
|
|
32
|
+
* accounts: {
|
|
33
|
+
* counter,
|
|
34
|
+
* },
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export type InstructionNamespace<IDL extends Idl = Idl, I extends IdlInstruction = AllInstructions<IDL>> = MakeInstructionsNamespace<IDL, I, TransactionInstruction, {
|
|
39
|
+
[M in keyof AllInstructionsMap<IDL>]: {
|
|
40
|
+
accounts: (ctx: Accounts<AllInstructionsMap<IDL>[M]["accounts"][number]>) => unknown;
|
|
41
|
+
};
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Function to create a `TransactionInstruction` generated from an IDL.
|
|
45
|
+
* Additionally it provides an `accounts` utility method, returning a list
|
|
46
|
+
* of ordered accounts for the instruction.
|
|
47
|
+
*/
|
|
48
|
+
export type InstructionFn<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = InstructionContextFn<IDL, I, TransactionInstruction> & IxProps<Accounts<I["accounts"][number]>>;
|
|
49
|
+
type IxProps<A extends Accounts> = {
|
|
50
|
+
/**
|
|
51
|
+
* Returns an ordered list of accounts associated with the instruction.
|
|
52
|
+
*/
|
|
53
|
+
accounts: (ctx: A) => AccountMeta[];
|
|
54
|
+
};
|
|
55
|
+
export type InstructionEncodeFn<I extends IdlInstruction = IdlInstruction> = (ixName: I["name"], ix: any) => Buffer;
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=instruction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instruction.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/instruction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,GAAG,EACH,yBAAyB,EAEzB,cAAc,EAEf,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAE1D,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EAEpB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,2BAA2B;WAChC,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EACjE,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,SAAS,EAAE,SAAS,GACnB,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;WA0CV,aAAa,CACzB,GAAG,EAAE,QAAQ,GAAG,SAAS,EACzB,QAAQ,EAAE,SAAS,yBAAyB,EAAE,EAC9C,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW,EAAE;CAyCjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,MAAM,oBAAoB,CAC9B,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,IAC7C,yBAAyB,CAC3B,GAAG,EACH,CAAC,EACD,sBAAsB,EACtB;KACG,CAAC,IAAI,MAAM,kBAAkB,CAAC,GAAG,CAAC,GAAG;QACpC,QAAQ,EAAE,CACR,GAAG,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,KAC1D,OAAO,CAAC;KACd;CACF,CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,CACvB,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IACnD,oBAAoB,CAAC,GAAG,EAAE,CAAC,EAAE,sBAAsB,CAAC,GACtD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAE3C,KAAK,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI;IACjC;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,CAC3E,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EACjB,EAAE,EAAE,GAAG,KACJ,MAAM,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { TransactionInstruction, } from "@solana/web3.js";
|
|
2
|
+
import { isCompositeAccounts, } from "../../idl.js";
|
|
3
|
+
import { IdlError } from "../../error.js";
|
|
4
|
+
import { toInstruction, translateAddress, validateAccounts, } from "../common.js";
|
|
5
|
+
import { splitArgsAndCtx } from "../context.js";
|
|
6
|
+
import * as features from "../../utils/features.js";
|
|
7
|
+
export default class InstructionNamespaceFactory {
|
|
8
|
+
static build(idlIx, encodeFn, programId) {
|
|
9
|
+
if (idlIx.name === "_inner") {
|
|
10
|
+
throw new IdlError("the _inner name is reserved");
|
|
11
|
+
}
|
|
12
|
+
const ix = (...args) => {
|
|
13
|
+
const [ixArgs, ctx] = splitArgsAndCtx(idlIx, [...args]);
|
|
14
|
+
validateAccounts(idlIx.accounts, ctx.accounts);
|
|
15
|
+
validateInstruction(idlIx, ...args);
|
|
16
|
+
const keys = ix.accounts(ctx.accounts);
|
|
17
|
+
if (ctx.remainingAccounts !== undefined) {
|
|
18
|
+
keys.push(...ctx.remainingAccounts);
|
|
19
|
+
}
|
|
20
|
+
if (features.isSet("debug-logs")) {
|
|
21
|
+
console.log("Outgoing account metas:", keys);
|
|
22
|
+
}
|
|
23
|
+
return new TransactionInstruction({
|
|
24
|
+
keys,
|
|
25
|
+
programId,
|
|
26
|
+
data: encodeFn(idlIx.name, toInstruction(idlIx, ...ixArgs)),
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
// Utility fn for ordering the accounts for this instruction.
|
|
30
|
+
ix["accounts"] = (accs) => {
|
|
31
|
+
return InstructionNamespaceFactory.accountsArray(accs, idlIx.accounts, programId, idlIx.name);
|
|
32
|
+
};
|
|
33
|
+
return ix;
|
|
34
|
+
}
|
|
35
|
+
static accountsArray(ctx, accounts, programId, ixName) {
|
|
36
|
+
if (!ctx) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
return accounts
|
|
40
|
+
.map((acc) => {
|
|
41
|
+
if (isCompositeAccounts(acc)) {
|
|
42
|
+
const rpcAccs = ctx[acc.name];
|
|
43
|
+
return InstructionNamespaceFactory.accountsArray(rpcAccs, acc.accounts, programId, ixName).flat();
|
|
44
|
+
}
|
|
45
|
+
let pubkey;
|
|
46
|
+
try {
|
|
47
|
+
pubkey = translateAddress(ctx[acc.name]);
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
throw new Error(`Wrong input type for account "${acc.name}" in the instruction accounts object${ixName !== undefined ? ' for instruction "' + ixName + '"' : ""}. Expected PublicKey or string.`);
|
|
51
|
+
}
|
|
52
|
+
const isOptional = acc.optional && pubkey.equals(programId);
|
|
53
|
+
const isWritable = Boolean(acc.writable && !isOptional);
|
|
54
|
+
const isSigner = Boolean(acc.signer && !isOptional);
|
|
55
|
+
return {
|
|
56
|
+
pubkey,
|
|
57
|
+
isWritable,
|
|
58
|
+
isSigner,
|
|
59
|
+
};
|
|
60
|
+
})
|
|
61
|
+
.flat();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Throws error if any argument required for the `ix` is not given.
|
|
65
|
+
function validateInstruction(ix, ...args) {
|
|
66
|
+
// todo
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=instruction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instruction.js","sourceRoot":"","sources":["../../../../src/program/namespace/instruction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { AccountMeta, ConfirmOptions, PublicKey, Signer, Transaction, TransactionInstruction, TransactionSignature } from "@solana/web3.js";
|
|
2
|
+
import { Idl, IdlInstructionAccount, IdlInstructionAccountItem, IdlInstructionAccounts, IdlTypeDef } from "../../idl.js";
|
|
3
|
+
import Provider from "../../provider.js";
|
|
4
|
+
import { AccountsGeneric, CustomAccountResolver } from "../accounts-resolver.js";
|
|
5
|
+
import { Address } from "../common.js";
|
|
6
|
+
import { Accounts } from "../context.js";
|
|
7
|
+
import { AccountNamespace } from "./account.js";
|
|
8
|
+
import { InstructionFn } from "./instruction.js";
|
|
9
|
+
import { RpcFn } from "./rpc.js";
|
|
10
|
+
import { SimulateFn, SimulateResponse } from "./simulate.js";
|
|
11
|
+
import { TransactionFn } from "./transaction.js";
|
|
12
|
+
import { AllInstructions, InstructionAccountAddresses, MakeMethodsNamespace, MethodsFn } from "./types.js";
|
|
13
|
+
import { ViewFn } from "./views.js";
|
|
14
|
+
export type MethodsNamespace<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = MakeMethodsNamespace<IDL, I>;
|
|
15
|
+
export declare class MethodsBuilderFactory {
|
|
16
|
+
static build<IDL extends Idl, I extends AllInstructions<IDL>>(provider: Provider, programId: PublicKey, idlIx: AllInstructions<IDL>, ixFn: InstructionFn<IDL>, txFn: TransactionFn<IDL>, rpcFn: RpcFn<IDL>, simulateFn: SimulateFn<IDL>, viewFn: ViewFn<IDL> | undefined, accountNamespace: AccountNamespace<IDL>, idlTypes: IdlTypeDef[], customResolver?: CustomAccountResolver<IDL>): MethodsFn<IDL, I, MethodsBuilder<IDL, I>>;
|
|
17
|
+
}
|
|
18
|
+
type ResolvedAccounts<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = PartialUndefined<ResolvedAccountsRecursive<A>>;
|
|
19
|
+
type ResolvedAccountsRecursive<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = OmitNever<{
|
|
20
|
+
[N in A["name"]]: ResolvedAccount<A & {
|
|
21
|
+
name: N;
|
|
22
|
+
}>;
|
|
23
|
+
}>;
|
|
24
|
+
type ResolvedAccount<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = A extends IdlInstructionAccounts ? ResolvedAccountsRecursive<A["accounts"][number]> : A extends NonNullable<Pick<IdlInstructionAccount, "address">> ? never : A extends NonNullable<Pick<IdlInstructionAccount, "pda">> ? never : A extends NonNullable<Pick<IdlInstructionAccount, "relations">> ? never : A extends {
|
|
25
|
+
signer: true;
|
|
26
|
+
} ? Address | undefined : PartialAccount<A>;
|
|
27
|
+
type PartialUndefined<T, P extends keyof T = {
|
|
28
|
+
[K in keyof T]: undefined extends T[K] ? K : never;
|
|
29
|
+
}[keyof T]> = Partial<Pick<T, P>> & Pick<T, Exclude<keyof T, P>>;
|
|
30
|
+
type OmitNever<T extends Record<string, any>> = {
|
|
31
|
+
[K in keyof T as T[K] extends never ? never : K]: T[K];
|
|
32
|
+
};
|
|
33
|
+
export type PartialAccounts<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = Partial<{
|
|
34
|
+
[N in A["name"]]: PartialAccount<A & {
|
|
35
|
+
name: N;
|
|
36
|
+
}>;
|
|
37
|
+
}>;
|
|
38
|
+
type PartialAccount<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = A extends IdlInstructionAccounts ? PartialAccounts<A["accounts"][number]> : A extends {
|
|
39
|
+
optional: true;
|
|
40
|
+
} ? Address | null : Address;
|
|
41
|
+
export declare function isPartialAccounts(partialAccount: any): partialAccount is PartialAccounts;
|
|
42
|
+
export declare function flattenPartialAccounts<A extends IdlInstructionAccountItem>(partialAccounts: PartialAccounts<A>, throwOnNull: boolean): AccountsGeneric;
|
|
43
|
+
export declare class MethodsBuilder<IDL extends Idl, I extends AllInstructions<IDL>, A extends I["accounts"][number] = I["accounts"][number]> {
|
|
44
|
+
private _args;
|
|
45
|
+
private _ixFn;
|
|
46
|
+
private _txFn;
|
|
47
|
+
private _rpcFn;
|
|
48
|
+
private _simulateFn;
|
|
49
|
+
private _viewFn;
|
|
50
|
+
private _accounts;
|
|
51
|
+
private _remainingAccounts;
|
|
52
|
+
private _signers;
|
|
53
|
+
private _preInstructions;
|
|
54
|
+
private _postInstructions;
|
|
55
|
+
private _accountsResolver;
|
|
56
|
+
private _resolveAccounts;
|
|
57
|
+
constructor(_args: Array<any>, _ixFn: InstructionFn<IDL>, _txFn: TransactionFn<IDL>, _rpcFn: RpcFn<IDL>, _simulateFn: SimulateFn<IDL>, _viewFn: ViewFn<IDL> | undefined, provider: Provider, programId: PublicKey, idlIx: AllInstructions<IDL>, accountNamespace: AccountNamespace<IDL>, idlTypes: IdlTypeDef[], customResolver?: CustomAccountResolver<IDL>);
|
|
58
|
+
args(args: Array<any>): void;
|
|
59
|
+
/**
|
|
60
|
+
* Set instruction accounts with account resolution.
|
|
61
|
+
*
|
|
62
|
+
* This method only accepts accounts that cannot be resolved.
|
|
63
|
+
*
|
|
64
|
+
* See {@link accountsPartial} for overriding the account resolution or
|
|
65
|
+
* {@link accountsStrict} for strictly specifying all accounts.
|
|
66
|
+
*/
|
|
67
|
+
accounts(accounts: ResolvedAccounts<A>): this;
|
|
68
|
+
/**
|
|
69
|
+
* Set instruction accounts with account resolution.
|
|
70
|
+
*
|
|
71
|
+
* There is no functional difference between this method and {@link accounts}
|
|
72
|
+
* method, the only difference is this method allows specifying all accounts
|
|
73
|
+
* even if they can be resolved. On the other hand, {@link accounts} method
|
|
74
|
+
* doesn't accept accounts that can be resolved.
|
|
75
|
+
*/
|
|
76
|
+
accountsPartial(accounts: PartialAccounts<A>): this;
|
|
77
|
+
/**
|
|
78
|
+
* Set instruction accounts without account resolution.
|
|
79
|
+
*
|
|
80
|
+
* All accounts strictly need to be specified when this method is used.
|
|
81
|
+
*
|
|
82
|
+
* See {@link accounts} and {@link accountsPartial} methods for automatically
|
|
83
|
+
* resolving accounts.
|
|
84
|
+
*
|
|
85
|
+
* @param accounts instruction accounts
|
|
86
|
+
*/
|
|
87
|
+
accountsStrict(accounts: Accounts<A>): this;
|
|
88
|
+
/**
|
|
89
|
+
* Set instruction signers.
|
|
90
|
+
*
|
|
91
|
+
* Note that calling this method appends the given signers to the existing
|
|
92
|
+
* signers (instead of overriding them).
|
|
93
|
+
*
|
|
94
|
+
* @param signers signers to append
|
|
95
|
+
*/
|
|
96
|
+
signers(signers: Array<Signer>): this;
|
|
97
|
+
/**
|
|
98
|
+
* Set remaining accounts.
|
|
99
|
+
*
|
|
100
|
+
* Note that calling this method appends the given accounts to the existing
|
|
101
|
+
* remaining accounts (instead of overriding them).
|
|
102
|
+
*
|
|
103
|
+
* @param accounts remaining accounts
|
|
104
|
+
*/
|
|
105
|
+
remainingAccounts(accounts: Array<AccountMeta>): this;
|
|
106
|
+
/**
|
|
107
|
+
* Set previous instructions.
|
|
108
|
+
*
|
|
109
|
+
* See {@link postInstructions} to set the post instructions instead.
|
|
110
|
+
*
|
|
111
|
+
* @param ixs instructions
|
|
112
|
+
* @param prepend whether to prepend to the existing previous instructions
|
|
113
|
+
*/
|
|
114
|
+
preInstructions(ixs: Array<TransactionInstruction>, prepend?: boolean): this;
|
|
115
|
+
/**
|
|
116
|
+
* Set post instructions.
|
|
117
|
+
*
|
|
118
|
+
* See {@link preInstructions} to set the previous instructions instead.
|
|
119
|
+
*
|
|
120
|
+
* @param ixs instructions
|
|
121
|
+
*/
|
|
122
|
+
postInstructions(ixs: Array<TransactionInstruction>): this;
|
|
123
|
+
/**
|
|
124
|
+
* Get the public keys of the instruction accounts.
|
|
125
|
+
*
|
|
126
|
+
* The return type is an object with account names as keys and their public
|
|
127
|
+
* keys as their values.
|
|
128
|
+
*
|
|
129
|
+
* Note that an account key is `undefined` if the account hasn't yet been
|
|
130
|
+
* specified or resolved.
|
|
131
|
+
*/
|
|
132
|
+
pubkeys(): Promise<Partial<InstructionAccountAddresses<IDL, I>>>;
|
|
133
|
+
/**
|
|
134
|
+
* Create an instruction based on the current configuration.
|
|
135
|
+
*
|
|
136
|
+
* See {@link transaction} to create a transaction instead.
|
|
137
|
+
*
|
|
138
|
+
* @returns the transaction instruction
|
|
139
|
+
*/
|
|
140
|
+
instruction(): Promise<TransactionInstruction>;
|
|
141
|
+
/**
|
|
142
|
+
* Create a transaction based on the current configuration.
|
|
143
|
+
*
|
|
144
|
+
* This method doesn't send the created transaction. Use {@link rpc} method
|
|
145
|
+
* to conveniently send an confirm the configured transaction.
|
|
146
|
+
*
|
|
147
|
+
* See {@link instruction} to only create an instruction instead.
|
|
148
|
+
*
|
|
149
|
+
* @returns the transaction
|
|
150
|
+
*/
|
|
151
|
+
transaction(): Promise<Transaction>;
|
|
152
|
+
/**
|
|
153
|
+
* Simulate the configured transaction.
|
|
154
|
+
*
|
|
155
|
+
* @param options confirmation options
|
|
156
|
+
* @returns the simulation response
|
|
157
|
+
*/
|
|
158
|
+
simulate(options?: ConfirmOptions): Promise<SimulateResponse>;
|
|
159
|
+
/**
|
|
160
|
+
* View the configured transaction.
|
|
161
|
+
*
|
|
162
|
+
* Note that to use this method, the instruction needs to return a value and
|
|
163
|
+
* all its accounts must be read-only.
|
|
164
|
+
*
|
|
165
|
+
* @param options confirmation options
|
|
166
|
+
* @returns the return value of the instruction
|
|
167
|
+
*/
|
|
168
|
+
view(options?: ConfirmOptions): Promise<any>;
|
|
169
|
+
/**
|
|
170
|
+
* Send and confirm the configured transaction.
|
|
171
|
+
*
|
|
172
|
+
* See {@link rpcAndKeys} to both send the transaction and get the resolved
|
|
173
|
+
* account public keys.
|
|
174
|
+
*
|
|
175
|
+
* @param options confirmation options
|
|
176
|
+
* @returns the transaction signature
|
|
177
|
+
*/
|
|
178
|
+
rpc(options?: ConfirmOptions): Promise<TransactionSignature>;
|
|
179
|
+
/**
|
|
180
|
+
* Conveniently call both {@link rpc} and {@link pubkeys} methods.
|
|
181
|
+
*
|
|
182
|
+
* @param options confirmation options
|
|
183
|
+
* @returns the transaction signature and account public keys
|
|
184
|
+
*/
|
|
185
|
+
rpcAndKeys(options?: ConfirmOptions): Promise<{
|
|
186
|
+
signature: TransactionSignature;
|
|
187
|
+
pubkeys: InstructionAccountAddresses<IDL, I>;
|
|
188
|
+
}>;
|
|
189
|
+
/**
|
|
190
|
+
* Get instruction information necessary to include the instruction inside a
|
|
191
|
+
* transaction.
|
|
192
|
+
*
|
|
193
|
+
* # Example
|
|
194
|
+
*
|
|
195
|
+
* ```ts
|
|
196
|
+
* const { instruction, signers, pubkeys } = await method.prepare();
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
prepare(): Promise<{
|
|
200
|
+
instruction: TransactionInstruction;
|
|
201
|
+
signers: Signer[];
|
|
202
|
+
pubkeys: Partial<InstructionAccountAddresses<IDL, I>>;
|
|
203
|
+
}>;
|
|
204
|
+
}
|
|
205
|
+
export {};
|
|
206
|
+
//# sourceMappingURL=methods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/methods.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { AccountsResolver, } from "../accounts-resolver.js";
|
|
2
|
+
import { translateAddress } from "../common.js";
|
|
3
|
+
export class MethodsBuilderFactory {
|
|
4
|
+
static build(provider, programId, idlIx, ixFn, txFn, rpcFn, simulateFn, viewFn, accountNamespace, idlTypes, customResolver) {
|
|
5
|
+
return (...args) => new MethodsBuilder(args, ixFn, txFn, rpcFn, simulateFn, viewFn, provider, programId, idlIx, accountNamespace, idlTypes, customResolver);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export function isPartialAccounts(partialAccount) {
|
|
9
|
+
return (typeof partialAccount === "object" &&
|
|
10
|
+
partialAccount !== null &&
|
|
11
|
+
!("_bn" in partialAccount) // Ensures not a pubkey
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
export function flattenPartialAccounts(partialAccounts, throwOnNull) {
|
|
15
|
+
const toReturn = {};
|
|
16
|
+
for (const accountName in partialAccounts) {
|
|
17
|
+
const account = partialAccounts[accountName];
|
|
18
|
+
if (account === null) {
|
|
19
|
+
if (throwOnNull)
|
|
20
|
+
throw new Error("Failed to resolve optionals due to IDL type mismatch with input accounts!");
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
toReturn[accountName] = isPartialAccounts(account)
|
|
24
|
+
? flattenPartialAccounts(account, true)
|
|
25
|
+
: translateAddress(account);
|
|
26
|
+
}
|
|
27
|
+
return toReturn;
|
|
28
|
+
}
|
|
29
|
+
export class MethodsBuilder {
|
|
30
|
+
constructor(_args, _ixFn, _txFn, _rpcFn, _simulateFn, _viewFn, provider, programId, idlIx, accountNamespace, idlTypes, customResolver) {
|
|
31
|
+
this._args = _args;
|
|
32
|
+
this._ixFn = _ixFn;
|
|
33
|
+
this._txFn = _txFn;
|
|
34
|
+
this._rpcFn = _rpcFn;
|
|
35
|
+
this._simulateFn = _simulateFn;
|
|
36
|
+
this._viewFn = _viewFn;
|
|
37
|
+
this._accounts = {};
|
|
38
|
+
this._remainingAccounts = [];
|
|
39
|
+
this._signers = [];
|
|
40
|
+
this._preInstructions = [];
|
|
41
|
+
this._postInstructions = [];
|
|
42
|
+
this._resolveAccounts = true;
|
|
43
|
+
this._accountsResolver = new AccountsResolver(_args, this._accounts, provider, programId, idlIx, accountNamespace, idlTypes, customResolver);
|
|
44
|
+
}
|
|
45
|
+
args(args) {
|
|
46
|
+
this._args = args;
|
|
47
|
+
this._accountsResolver.args(args);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Set instruction accounts with account resolution.
|
|
51
|
+
*
|
|
52
|
+
* This method only accepts accounts that cannot be resolved.
|
|
53
|
+
*
|
|
54
|
+
* See {@link accountsPartial} for overriding the account resolution or
|
|
55
|
+
* {@link accountsStrict} for strictly specifying all accounts.
|
|
56
|
+
*/
|
|
57
|
+
accounts(accounts) {
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
return this.accountsPartial(accounts);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Set instruction accounts with account resolution.
|
|
63
|
+
*
|
|
64
|
+
* There is no functional difference between this method and {@link accounts}
|
|
65
|
+
* method, the only difference is this method allows specifying all accounts
|
|
66
|
+
* even if they can be resolved. On the other hand, {@link accounts} method
|
|
67
|
+
* doesn't accept accounts that can be resolved.
|
|
68
|
+
*/
|
|
69
|
+
accountsPartial(accounts) {
|
|
70
|
+
this._resolveAccounts = true;
|
|
71
|
+
this._accountsResolver.resolveOptionals(accounts);
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Set instruction accounts without account resolution.
|
|
76
|
+
*
|
|
77
|
+
* All accounts strictly need to be specified when this method is used.
|
|
78
|
+
*
|
|
79
|
+
* See {@link accounts} and {@link accountsPartial} methods for automatically
|
|
80
|
+
* resolving accounts.
|
|
81
|
+
*
|
|
82
|
+
* @param accounts instruction accounts
|
|
83
|
+
*/
|
|
84
|
+
accountsStrict(accounts) {
|
|
85
|
+
this._resolveAccounts = false;
|
|
86
|
+
this._accountsResolver.resolveOptionals(accounts);
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Set instruction signers.
|
|
91
|
+
*
|
|
92
|
+
* Note that calling this method appends the given signers to the existing
|
|
93
|
+
* signers (instead of overriding them).
|
|
94
|
+
*
|
|
95
|
+
* @param signers signers to append
|
|
96
|
+
*/
|
|
97
|
+
signers(signers) {
|
|
98
|
+
this._signers = this._signers.concat(signers);
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Set remaining accounts.
|
|
103
|
+
*
|
|
104
|
+
* Note that calling this method appends the given accounts to the existing
|
|
105
|
+
* remaining accounts (instead of overriding them).
|
|
106
|
+
*
|
|
107
|
+
* @param accounts remaining accounts
|
|
108
|
+
*/
|
|
109
|
+
remainingAccounts(accounts) {
|
|
110
|
+
this._remainingAccounts = this._remainingAccounts.concat(accounts);
|
|
111
|
+
return this;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Set previous instructions.
|
|
115
|
+
*
|
|
116
|
+
* See {@link postInstructions} to set the post instructions instead.
|
|
117
|
+
*
|
|
118
|
+
* @param ixs instructions
|
|
119
|
+
* @param prepend whether to prepend to the existing previous instructions
|
|
120
|
+
*/
|
|
121
|
+
preInstructions(ixs, prepend = false) {
|
|
122
|
+
if (prepend) {
|
|
123
|
+
this._preInstructions = ixs.concat(this._preInstructions);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
this._preInstructions = this._preInstructions.concat(ixs);
|
|
127
|
+
}
|
|
128
|
+
return this;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Set post instructions.
|
|
132
|
+
*
|
|
133
|
+
* See {@link preInstructions} to set the previous instructions instead.
|
|
134
|
+
*
|
|
135
|
+
* @param ixs instructions
|
|
136
|
+
*/
|
|
137
|
+
postInstructions(ixs) {
|
|
138
|
+
this._postInstructions = this._postInstructions.concat(ixs);
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get the public keys of the instruction accounts.
|
|
143
|
+
*
|
|
144
|
+
* The return type is an object with account names as keys and their public
|
|
145
|
+
* keys as their values.
|
|
146
|
+
*
|
|
147
|
+
* Note that an account key is `undefined` if the account hasn't yet been
|
|
148
|
+
* specified or resolved.
|
|
149
|
+
*/
|
|
150
|
+
async pubkeys() {
|
|
151
|
+
if (this._resolveAccounts) {
|
|
152
|
+
await this._accountsResolver.resolve();
|
|
153
|
+
}
|
|
154
|
+
// @ts-ignore
|
|
155
|
+
return this._accounts;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Create an instruction based on the current configuration.
|
|
159
|
+
*
|
|
160
|
+
* See {@link transaction} to create a transaction instead.
|
|
161
|
+
*
|
|
162
|
+
* @returns the transaction instruction
|
|
163
|
+
*/
|
|
164
|
+
async instruction() {
|
|
165
|
+
if (this._resolveAccounts) {
|
|
166
|
+
await this._accountsResolver.resolve();
|
|
167
|
+
}
|
|
168
|
+
// @ts-ignore
|
|
169
|
+
return this._ixFn(...this._args, {
|
|
170
|
+
accounts: this._accounts,
|
|
171
|
+
signers: this._signers,
|
|
172
|
+
remainingAccounts: this._remainingAccounts,
|
|
173
|
+
preInstructions: this._preInstructions,
|
|
174
|
+
postInstructions: this._postInstructions,
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Create a transaction based on the current configuration.
|
|
179
|
+
*
|
|
180
|
+
* This method doesn't send the created transaction. Use {@link rpc} method
|
|
181
|
+
* to conveniently send an confirm the configured transaction.
|
|
182
|
+
*
|
|
183
|
+
* See {@link instruction} to only create an instruction instead.
|
|
184
|
+
*
|
|
185
|
+
* @returns the transaction
|
|
186
|
+
*/
|
|
187
|
+
async transaction() {
|
|
188
|
+
if (this._resolveAccounts) {
|
|
189
|
+
await this._accountsResolver.resolve();
|
|
190
|
+
}
|
|
191
|
+
// @ts-ignore
|
|
192
|
+
return this._txFn(...this._args, {
|
|
193
|
+
accounts: this._accounts,
|
|
194
|
+
signers: this._signers,
|
|
195
|
+
remainingAccounts: this._remainingAccounts,
|
|
196
|
+
preInstructions: this._preInstructions,
|
|
197
|
+
postInstructions: this._postInstructions,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Simulate the configured transaction.
|
|
202
|
+
*
|
|
203
|
+
* @param options confirmation options
|
|
204
|
+
* @returns the simulation response
|
|
205
|
+
*/
|
|
206
|
+
async simulate(options) {
|
|
207
|
+
if (this._resolveAccounts) {
|
|
208
|
+
await this._accountsResolver.resolve();
|
|
209
|
+
}
|
|
210
|
+
// @ts-ignore
|
|
211
|
+
return this._simulateFn(...this._args, {
|
|
212
|
+
accounts: this._accounts,
|
|
213
|
+
signers: this._signers,
|
|
214
|
+
remainingAccounts: this._remainingAccounts,
|
|
215
|
+
preInstructions: this._preInstructions,
|
|
216
|
+
postInstructions: this._postInstructions,
|
|
217
|
+
options,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* View the configured transaction.
|
|
222
|
+
*
|
|
223
|
+
* Note that to use this method, the instruction needs to return a value and
|
|
224
|
+
* all its accounts must be read-only.
|
|
225
|
+
*
|
|
226
|
+
* @param options confirmation options
|
|
227
|
+
* @returns the return value of the instruction
|
|
228
|
+
*/
|
|
229
|
+
async view(options) {
|
|
230
|
+
if (this._resolveAccounts) {
|
|
231
|
+
await this._accountsResolver.resolve();
|
|
232
|
+
}
|
|
233
|
+
if (!this._viewFn) {
|
|
234
|
+
throw new Error([
|
|
235
|
+
"Method does not support views.",
|
|
236
|
+
"The instruction should return a value, and its accounts must be read-only",
|
|
237
|
+
].join(" "));
|
|
238
|
+
}
|
|
239
|
+
// @ts-ignore
|
|
240
|
+
return this._viewFn(...this._args, {
|
|
241
|
+
accounts: this._accounts,
|
|
242
|
+
signers: this._signers,
|
|
243
|
+
remainingAccounts: this._remainingAccounts,
|
|
244
|
+
preInstructions: this._preInstructions,
|
|
245
|
+
postInstructions: this._postInstructions,
|
|
246
|
+
options,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Send and confirm the configured transaction.
|
|
251
|
+
*
|
|
252
|
+
* See {@link rpcAndKeys} to both send the transaction and get the resolved
|
|
253
|
+
* account public keys.
|
|
254
|
+
*
|
|
255
|
+
* @param options confirmation options
|
|
256
|
+
* @returns the transaction signature
|
|
257
|
+
*/
|
|
258
|
+
async rpc(options) {
|
|
259
|
+
if (this._resolveAccounts) {
|
|
260
|
+
await this._accountsResolver.resolve();
|
|
261
|
+
}
|
|
262
|
+
// @ts-ignore
|
|
263
|
+
return this._rpcFn(...this._args, {
|
|
264
|
+
accounts: this._accounts,
|
|
265
|
+
signers: this._signers,
|
|
266
|
+
remainingAccounts: this._remainingAccounts,
|
|
267
|
+
preInstructions: this._preInstructions,
|
|
268
|
+
postInstructions: this._postInstructions,
|
|
269
|
+
options,
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Conveniently call both {@link rpc} and {@link pubkeys} methods.
|
|
274
|
+
*
|
|
275
|
+
* @param options confirmation options
|
|
276
|
+
* @returns the transaction signature and account public keys
|
|
277
|
+
*/
|
|
278
|
+
async rpcAndKeys(options) {
|
|
279
|
+
return {
|
|
280
|
+
signature: await this.rpc(options),
|
|
281
|
+
pubkeys: (await this.pubkeys()),
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Get instruction information necessary to include the instruction inside a
|
|
286
|
+
* transaction.
|
|
287
|
+
*
|
|
288
|
+
* # Example
|
|
289
|
+
*
|
|
290
|
+
* ```ts
|
|
291
|
+
* const { instruction, signers, pubkeys } = await method.prepare();
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
294
|
+
async prepare() {
|
|
295
|
+
return {
|
|
296
|
+
instruction: await this.instruction(),
|
|
297
|
+
signers: this._signers,
|
|
298
|
+
pubkeys: await this.pubkeys(),
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../src/program/namespace/methods.ts"],"names":[],"mappings":"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"}
|