@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,437 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AccountsResolver = void 0;
|
|
7
|
+
exports.isAccountsGeneric = isAccountsGeneric;
|
|
8
|
+
const bn_js_1 = __importDefault(require("bn.js"));
|
|
9
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
10
|
+
const idl_js_1 = require("../idl.js");
|
|
11
|
+
const token_account_layout_1 = require("./token-account-layout");
|
|
12
|
+
const index_js_1 = require("./index.js");
|
|
13
|
+
const methods_1 = require("./namespace/methods");
|
|
14
|
+
function isAccountsGeneric(accounts) {
|
|
15
|
+
return !(accounts instanceof web3_js_1.PublicKey);
|
|
16
|
+
}
|
|
17
|
+
// Populates a given accounts context with PDAs and common missing accounts.
|
|
18
|
+
class AccountsResolver {
|
|
19
|
+
constructor(_args, _accounts, _provider, _programId, _idlIx, accountNamespace, _idlTypes, _customResolver) {
|
|
20
|
+
this._args = _args;
|
|
21
|
+
this._accounts = _accounts;
|
|
22
|
+
this._provider = _provider;
|
|
23
|
+
this._programId = _programId;
|
|
24
|
+
this._idlIx = _idlIx;
|
|
25
|
+
this._idlTypes = _idlTypes;
|
|
26
|
+
this._customResolver = _customResolver;
|
|
27
|
+
this._accountStore = new AccountStore(_provider, accountNamespace, _programId);
|
|
28
|
+
}
|
|
29
|
+
args(args) {
|
|
30
|
+
this._args = args;
|
|
31
|
+
}
|
|
32
|
+
// Note: We serially resolve PDAs one by one rather than doing them
|
|
33
|
+
// in parallel because there can be dependencies between
|
|
34
|
+
// addresses. That is, one PDA can be used as a seed in another.
|
|
35
|
+
async resolve() {
|
|
36
|
+
this.resolveEventCpi(this._idlIx.accounts);
|
|
37
|
+
this.resolveConst(this._idlIx.accounts);
|
|
38
|
+
// Auto populate pdas and relations until we stop finding new accounts
|
|
39
|
+
let depth = 0;
|
|
40
|
+
while ((await this.resolvePdasAndRelations(this._idlIx.accounts)) +
|
|
41
|
+
(await this.resolveCustom()) >
|
|
42
|
+
0) {
|
|
43
|
+
depth++;
|
|
44
|
+
if (depth === 16) {
|
|
45
|
+
const isResolvable = (acc) => {
|
|
46
|
+
if (!(0, idl_js_1.isCompositeAccounts)(acc)) {
|
|
47
|
+
return !!(acc.address || acc.pda || acc.relations);
|
|
48
|
+
}
|
|
49
|
+
return acc.accounts.some(isResolvable);
|
|
50
|
+
};
|
|
51
|
+
const getPaths = (accs, path = [], paths = []) => {
|
|
52
|
+
for (const acc of accs) {
|
|
53
|
+
if ((0, idl_js_1.isCompositeAccounts)(acc)) {
|
|
54
|
+
paths.push(...getPaths(acc.accounts, [...path, acc.name]));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
paths.push([...path, acc.name]);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return paths;
|
|
61
|
+
};
|
|
62
|
+
const resolvableAccs = this._idlIx.accounts.filter(isResolvable);
|
|
63
|
+
const unresolvedAccs = getPaths(resolvableAccs)
|
|
64
|
+
.filter((path) => !this.get(path))
|
|
65
|
+
.map((path) => path.reduce((acc, p) => acc + "." + p))
|
|
66
|
+
.map((acc) => `\`${acc}\``)
|
|
67
|
+
.join(", ");
|
|
68
|
+
throw new Error([
|
|
69
|
+
`Reached maximum depth for account resolution.`,
|
|
70
|
+
`Unresolved accounts: ${unresolvedAccs}`,
|
|
71
|
+
].join(" "));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
resolveOptionals(accounts) {
|
|
76
|
+
Object.assign(this._accounts, this.resolveOptionalsHelper(accounts, this._idlIx.accounts));
|
|
77
|
+
}
|
|
78
|
+
get(path) {
|
|
79
|
+
// Only return if pubkey
|
|
80
|
+
const ret = path.reduce((acc, subPath) => acc && acc[subPath], this._accounts);
|
|
81
|
+
if (ret && ret.toBase58) {
|
|
82
|
+
return ret;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
set(path, value) {
|
|
86
|
+
let cur = this._accounts;
|
|
87
|
+
path.forEach((p, i) => {
|
|
88
|
+
var _a;
|
|
89
|
+
const isLast = i === path.length - 1;
|
|
90
|
+
if (isLast) {
|
|
91
|
+
cur[p] = value;
|
|
92
|
+
}
|
|
93
|
+
cur[p] = (_a = cur[p]) !== null && _a !== void 0 ? _a : {};
|
|
94
|
+
cur = cur[p];
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
resolveOptionalsHelper(partialAccounts, accounts) {
|
|
98
|
+
const nestedAccountsGeneric = {};
|
|
99
|
+
// Looping through accountItem array instead of on partialAccounts, so
|
|
100
|
+
// we only traverse array once
|
|
101
|
+
for (const accountItem of accounts) {
|
|
102
|
+
const accountName = accountItem.name;
|
|
103
|
+
const partialAccount = partialAccounts[accountName];
|
|
104
|
+
// Skip if the account isn't included (thus would be undefined)
|
|
105
|
+
if (partialAccount === undefined)
|
|
106
|
+
continue;
|
|
107
|
+
if ((0, methods_1.isPartialAccounts)(partialAccount)) {
|
|
108
|
+
// is compound accounts, recurse one level deeper
|
|
109
|
+
if ((0, idl_js_1.isCompositeAccounts)(accountItem)) {
|
|
110
|
+
nestedAccountsGeneric[accountName] = this.resolveOptionalsHelper(partialAccount, accountItem["accounts"]);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// Here we try our best to recover gracefully. If there are optionals we can't check, we will fail then.
|
|
114
|
+
nestedAccountsGeneric[accountName] = (0, methods_1.flattenPartialAccounts)(partialAccount, true);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
// if not compound accounts, do null/optional check and proceed
|
|
119
|
+
if (partialAccount !== null) {
|
|
120
|
+
nestedAccountsGeneric[accountName] = (0, index_js_1.translateAddress)(partialAccount);
|
|
121
|
+
}
|
|
122
|
+
else if (accountItem["optional"]) {
|
|
123
|
+
nestedAccountsGeneric[accountName] = this._programId;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return nestedAccountsGeneric;
|
|
128
|
+
}
|
|
129
|
+
async resolveCustom() {
|
|
130
|
+
if (this._customResolver) {
|
|
131
|
+
const { accounts, resolved } = await this._customResolver({
|
|
132
|
+
args: this._args,
|
|
133
|
+
accounts: this._accounts,
|
|
134
|
+
provider: this._provider,
|
|
135
|
+
programId: this._programId,
|
|
136
|
+
idlIx: this._idlIx,
|
|
137
|
+
});
|
|
138
|
+
this._accounts = accounts;
|
|
139
|
+
return resolved;
|
|
140
|
+
}
|
|
141
|
+
return 0;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Resolve event CPI accounts `eventAuthority` and `program`.
|
|
145
|
+
*
|
|
146
|
+
* Accounts will only be resolved if they are declared next to each other to
|
|
147
|
+
* reduce the chance of name collision.
|
|
148
|
+
*/
|
|
149
|
+
resolveEventCpi(accounts, path = []) {
|
|
150
|
+
for (const i in accounts) {
|
|
151
|
+
const accountOrAccounts = accounts[i];
|
|
152
|
+
if ((0, idl_js_1.isCompositeAccounts)(accountOrAccounts)) {
|
|
153
|
+
this.resolveEventCpi(accountOrAccounts.accounts, [
|
|
154
|
+
...path,
|
|
155
|
+
accountOrAccounts.name,
|
|
156
|
+
]);
|
|
157
|
+
}
|
|
158
|
+
// Validate next index exists
|
|
159
|
+
const nextIndex = +i + 1;
|
|
160
|
+
if (nextIndex === accounts.length)
|
|
161
|
+
return;
|
|
162
|
+
const currentName = accounts[i].name;
|
|
163
|
+
const nextName = accounts[nextIndex].name;
|
|
164
|
+
// Populate event CPI accounts if they exist
|
|
165
|
+
if (currentName === "eventAuthority" && nextName === "program") {
|
|
166
|
+
const currentPath = [...path, currentName];
|
|
167
|
+
const nextPath = [...path, nextName];
|
|
168
|
+
if (!this.get(currentPath)) {
|
|
169
|
+
this.set(currentPath, web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("__event_authority")], this._programId)[0]);
|
|
170
|
+
}
|
|
171
|
+
if (!this.get(nextPath)) {
|
|
172
|
+
this.set(nextPath, this._programId);
|
|
173
|
+
}
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
resolveConst(accounts, path = []) {
|
|
179
|
+
for (const accountOrAccounts of accounts) {
|
|
180
|
+
const name = accountOrAccounts.name;
|
|
181
|
+
if ((0, idl_js_1.isCompositeAccounts)(accountOrAccounts)) {
|
|
182
|
+
this.resolveConst(accountOrAccounts.accounts, [...path, name]);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
const account = accountOrAccounts;
|
|
186
|
+
if ((account.signer || account.address) && !this.get([...path, name])) {
|
|
187
|
+
// Default signers to the provider
|
|
188
|
+
if (account.signer) {
|
|
189
|
+
if (!this._provider.publicKey) {
|
|
190
|
+
throw new Error("This function requires the `Provider` interface implementor to have a `publicKey` field.");
|
|
191
|
+
}
|
|
192
|
+
this.set([...path, name], this._provider.publicKey);
|
|
193
|
+
}
|
|
194
|
+
// Set based on `address` field
|
|
195
|
+
if (account.address) {
|
|
196
|
+
this.set([...path, name], (0, index_js_1.translateAddress)(account.address));
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
async resolvePdasAndRelations(accounts, path = []) {
|
|
203
|
+
let found = 0;
|
|
204
|
+
for (const accountOrAccounts of accounts) {
|
|
205
|
+
const name = accountOrAccounts.name;
|
|
206
|
+
if ((0, idl_js_1.isCompositeAccounts)(accountOrAccounts)) {
|
|
207
|
+
found += await this.resolvePdasAndRelations(accountOrAccounts.accounts, [...path, name]);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
const account = accountOrAccounts;
|
|
211
|
+
if ((account.pda || account.relations) && !this.get([...path, name])) {
|
|
212
|
+
found++;
|
|
213
|
+
// Accounts might not get resolved successfully if a seed depends on
|
|
214
|
+
// another seed to be resolved *and* the accounts for resolution are
|
|
215
|
+
// out of order. In this case, skip the accounts that throw in order
|
|
216
|
+
// to resolve those accounts later.
|
|
217
|
+
try {
|
|
218
|
+
if (account.pda) {
|
|
219
|
+
const seeds = await Promise.all(account.pda.seeds.map((seed) => this.toBuffer(seed, path)));
|
|
220
|
+
if (seeds.some((seed) => !seed)) {
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
const programId = await this.parseProgramId(account, path);
|
|
224
|
+
const [pubkey] = web3_js_1.PublicKey.findProgramAddressSync(seeds, programId);
|
|
225
|
+
this.set([...path, name], pubkey);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
catch { }
|
|
229
|
+
try {
|
|
230
|
+
if (account.relations) {
|
|
231
|
+
const accountKey = this.get([...path, account.relations[0]]);
|
|
232
|
+
if (accountKey) {
|
|
233
|
+
const account = await this._accountStore.fetchAccount({
|
|
234
|
+
publicKey: accountKey,
|
|
235
|
+
});
|
|
236
|
+
this.set([...path, name], account[name]);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
catch { }
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return found;
|
|
245
|
+
}
|
|
246
|
+
async parseProgramId(account, path = []) {
|
|
247
|
+
var _a;
|
|
248
|
+
if (!((_a = account.pda) === null || _a === void 0 ? void 0 : _a.program)) {
|
|
249
|
+
return this._programId;
|
|
250
|
+
}
|
|
251
|
+
const buf = await this.toBuffer(account.pda.program, path);
|
|
252
|
+
if (!buf) {
|
|
253
|
+
throw new Error(`Program seed not resolved: ${account.name}`);
|
|
254
|
+
}
|
|
255
|
+
return new web3_js_1.PublicKey(buf);
|
|
256
|
+
}
|
|
257
|
+
async toBuffer(seed, path = []) {
|
|
258
|
+
switch (seed.kind) {
|
|
259
|
+
case "const":
|
|
260
|
+
return this.toBufferConst(seed);
|
|
261
|
+
case "arg":
|
|
262
|
+
return await this.toBufferArg(seed);
|
|
263
|
+
case "account":
|
|
264
|
+
return await this.toBufferAccount(seed, path);
|
|
265
|
+
default:
|
|
266
|
+
throw new Error(`Unexpected seed: ${seed}`);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
toBufferConst(seed) {
|
|
270
|
+
return this.toBufferValue("bytes", seed.value);
|
|
271
|
+
}
|
|
272
|
+
async toBufferArg(seed) {
|
|
273
|
+
const [name, ...path] = seed.path.split(".");
|
|
274
|
+
const index = this._idlIx.args.findIndex((arg) => arg.name === name);
|
|
275
|
+
if (index === -1) {
|
|
276
|
+
throw new Error(`Unable to find argument for seed: ${name}`);
|
|
277
|
+
}
|
|
278
|
+
const value = path.reduce((acc, path) => (acc !== null && acc !== void 0 ? acc : {})[path], this._args[index]);
|
|
279
|
+
if (value === undefined) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
const type = this.getType(this._idlIx.args[index].type, path);
|
|
283
|
+
return this.toBufferValue(type, value);
|
|
284
|
+
}
|
|
285
|
+
async toBufferAccount(seed, path = []) {
|
|
286
|
+
const [name, ...paths] = seed.path.split(".");
|
|
287
|
+
const fieldPubkey = this.get([...path, name]);
|
|
288
|
+
if (!fieldPubkey)
|
|
289
|
+
return;
|
|
290
|
+
// The seed is a pubkey of the account.
|
|
291
|
+
if (!paths.length) {
|
|
292
|
+
return this.toBufferValue("pubkey", fieldPubkey);
|
|
293
|
+
}
|
|
294
|
+
if (!seed.account) {
|
|
295
|
+
throw new Error(`Seed account is required in order to resolve type: ${seed.path}`);
|
|
296
|
+
}
|
|
297
|
+
// The key is account data.
|
|
298
|
+
//
|
|
299
|
+
// Fetch and deserialize it.
|
|
300
|
+
const account = await this._accountStore.fetchAccount({
|
|
301
|
+
publicKey: fieldPubkey,
|
|
302
|
+
name: seed.account,
|
|
303
|
+
});
|
|
304
|
+
// Dereference all fields in the path to get the field value
|
|
305
|
+
// used in the seed.
|
|
306
|
+
let accountValue = account;
|
|
307
|
+
let currentPaths = paths;
|
|
308
|
+
while (currentPaths.length > 0) {
|
|
309
|
+
accountValue = accountValue[currentPaths[0]];
|
|
310
|
+
currentPaths = currentPaths.slice(1);
|
|
311
|
+
}
|
|
312
|
+
if (accountValue === undefined)
|
|
313
|
+
return;
|
|
314
|
+
const type = this.getType({ defined: { name: seed.account } }, paths);
|
|
315
|
+
return this.toBufferValue(type, accountValue);
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Converts the given idl valaue into a Buffer. The values here must be
|
|
319
|
+
* primitives, e.g. no structs.
|
|
320
|
+
*/
|
|
321
|
+
toBufferValue(type, value) {
|
|
322
|
+
switch (type) {
|
|
323
|
+
case "u8":
|
|
324
|
+
case "i8":
|
|
325
|
+
return Buffer.from([value]);
|
|
326
|
+
case "u16":
|
|
327
|
+
case "i16":
|
|
328
|
+
return new bn_js_1.default(value).toArrayLike(Buffer, "le", 2);
|
|
329
|
+
case "u32":
|
|
330
|
+
case "i32":
|
|
331
|
+
return new bn_js_1.default(value).toArrayLike(Buffer, "le", 4);
|
|
332
|
+
case "u64":
|
|
333
|
+
case "i64":
|
|
334
|
+
return new bn_js_1.default(value).toArrayLike(Buffer, "le", 8);
|
|
335
|
+
case "u128":
|
|
336
|
+
case "i128":
|
|
337
|
+
return new bn_js_1.default(value).toArrayLike(Buffer, "le", 16);
|
|
338
|
+
case "u256":
|
|
339
|
+
case "i256":
|
|
340
|
+
return new bn_js_1.default(value).toArrayLike(Buffer, "le", 32);
|
|
341
|
+
case "string":
|
|
342
|
+
return Buffer.from(value);
|
|
343
|
+
case "pubkey":
|
|
344
|
+
return value.toBuffer();
|
|
345
|
+
case "bytes":
|
|
346
|
+
return Buffer.from(value);
|
|
347
|
+
default:
|
|
348
|
+
if (type === null || type === void 0 ? void 0 : type.array) {
|
|
349
|
+
return Buffer.from(value);
|
|
350
|
+
}
|
|
351
|
+
throw new Error(`Unexpected seed type: ${type}`);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Recursively get the type at some path of either a primitive or a user
|
|
356
|
+
* defined struct.
|
|
357
|
+
*/
|
|
358
|
+
getType(type, path = []) {
|
|
359
|
+
var _a;
|
|
360
|
+
const typeName = (_a = type === null || type === void 0 ? void 0 : type.defined) === null || _a === void 0 ? void 0 : _a.name;
|
|
361
|
+
if (typeName) {
|
|
362
|
+
// Handle token account separately
|
|
363
|
+
if (typeName === "tokenAccount") {
|
|
364
|
+
switch (path.at(0)) {
|
|
365
|
+
case "mint":
|
|
366
|
+
case "owner":
|
|
367
|
+
return "pubkey";
|
|
368
|
+
case "amount":
|
|
369
|
+
case "delagatedAmount":
|
|
370
|
+
return "u64";
|
|
371
|
+
default:
|
|
372
|
+
throw new Error(`Unknown token account path: ${path}`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
const definedType = this._idlTypes.find((t) => t.name === typeName);
|
|
376
|
+
if (!definedType) {
|
|
377
|
+
throw new Error(`Type not found: ${typeName}`);
|
|
378
|
+
}
|
|
379
|
+
// Only named structs are supported
|
|
380
|
+
const [fieldName, ...subPath] = path;
|
|
381
|
+
const fields = definedType.type
|
|
382
|
+
.fields;
|
|
383
|
+
const field = fields.find((field) => field.name === fieldName);
|
|
384
|
+
if (!field) {
|
|
385
|
+
throw new Error(`Field not found: ${fieldName}`);
|
|
386
|
+
}
|
|
387
|
+
return this.getType(field.type, subPath);
|
|
388
|
+
}
|
|
389
|
+
return type;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
exports.AccountsResolver = AccountsResolver;
|
|
393
|
+
// TODO: this should be configurable to avoid unnecessary requests.
|
|
394
|
+
class AccountStore {
|
|
395
|
+
constructor(_provider, accounts, programId) {
|
|
396
|
+
this._provider = _provider;
|
|
397
|
+
this._cache = new Map();
|
|
398
|
+
this._idls = {};
|
|
399
|
+
this._idls[programId.toBase58()] = accounts;
|
|
400
|
+
}
|
|
401
|
+
async fetchAccount({ publicKey, name, }) {
|
|
402
|
+
const address = publicKey.toBase58();
|
|
403
|
+
if (!this._cache.has(address)) {
|
|
404
|
+
const accountInfo = await this._provider.connection.getAccountInfo(publicKey);
|
|
405
|
+
if (accountInfo === null) {
|
|
406
|
+
throw new Error(`Account not found: ${address}`);
|
|
407
|
+
}
|
|
408
|
+
if (name === "tokenAccount") {
|
|
409
|
+
const account = (0, token_account_layout_1.decodeTokenAccount)(accountInfo.data);
|
|
410
|
+
this._cache.set(address, account);
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
const accounts = await this.getAccountsNs(accountInfo.owner);
|
|
414
|
+
if (accounts) {
|
|
415
|
+
const accountNs = Object.values(accounts)[0];
|
|
416
|
+
if (accountNs) {
|
|
417
|
+
const account = accountNs.coder.accounts.decodeAny(accountInfo.data);
|
|
418
|
+
this._cache.set(address, account);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
return this._cache.get(address);
|
|
424
|
+
}
|
|
425
|
+
async getAccountsNs(programId) {
|
|
426
|
+
const programIdStr = programId.toBase58();
|
|
427
|
+
if (!this._idls[programIdStr]) {
|
|
428
|
+
const idl = await index_js_1.Program.fetchIdl(programId, this._provider);
|
|
429
|
+
if (idl) {
|
|
430
|
+
const program = new index_js_1.Program(idl, this._provider);
|
|
431
|
+
this._idls[programIdStr] = program.account;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
return this._idls[programIdStr];
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
//# sourceMappingURL=accounts-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts-resolver.js","sourceRoot":"","sources":["../../../src/program/accounts-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import EventEmitter from "eventemitter3";
|
|
2
|
+
import { PublicKey } from "@solana/web3.js";
|
|
3
|
+
import { Idl, IdlInstruction, IdlInstructionAccountItem } from "../idl.js";
|
|
4
|
+
import { Accounts } from "./context.js";
|
|
5
|
+
export type Subscription = {
|
|
6
|
+
listener: number;
|
|
7
|
+
ee: EventEmitter;
|
|
8
|
+
};
|
|
9
|
+
export declare function parseIdlErrors(idl: Idl): Map<number, string>;
|
|
10
|
+
export declare function toInstruction(idlIx: IdlInstruction, ...args: any[]): {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
};
|
|
13
|
+
export declare function validateAccounts(ixAccounts: IdlInstructionAccountItem[], accounts?: Accounts): void;
|
|
14
|
+
export declare function translateAddress(address: Address): PublicKey;
|
|
15
|
+
/**
|
|
16
|
+
* An address to identify an account on chain. Can be a [[PublicKey]],
|
|
17
|
+
* or Base 58 encoded string.
|
|
18
|
+
*/
|
|
19
|
+
export type Address = PublicKey | string;
|
|
20
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/program/common.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,GAAG,EACH,cAAc,EACd,yBAAyB,EAE1B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,YAAY,CAAC;CAClB,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS5D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;;EAYlE;AAGD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,yBAAyB,EAAE,EACvC,QAAQ,GAAE,QAAa,QAWxB;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAE5D;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseIdlErrors = parseIdlErrors;
|
|
4
|
+
exports.toInstruction = toInstruction;
|
|
5
|
+
exports.validateAccounts = validateAccounts;
|
|
6
|
+
exports.translateAddress = translateAddress;
|
|
7
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
8
|
+
const idl_js_1 = require("../idl.js");
|
|
9
|
+
function parseIdlErrors(idl) {
|
|
10
|
+
const errors = new Map();
|
|
11
|
+
if (idl.errors) {
|
|
12
|
+
idl.errors.forEach((e) => {
|
|
13
|
+
var _a;
|
|
14
|
+
let msg = (_a = e.msg) !== null && _a !== void 0 ? _a : e.name;
|
|
15
|
+
errors.set(e.code, msg);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return errors;
|
|
19
|
+
}
|
|
20
|
+
function toInstruction(idlIx, ...args) {
|
|
21
|
+
if (idlIx.args.length != args.length) {
|
|
22
|
+
throw new Error("Invalid argument length");
|
|
23
|
+
}
|
|
24
|
+
const ix = {};
|
|
25
|
+
let idx = 0;
|
|
26
|
+
idlIx.args.forEach((ixArg) => {
|
|
27
|
+
ix[ixArg.name] = args[idx];
|
|
28
|
+
idx += 1;
|
|
29
|
+
});
|
|
30
|
+
return ix;
|
|
31
|
+
}
|
|
32
|
+
// Throws error if any account required for the `ix` is not given.
|
|
33
|
+
function validateAccounts(ixAccounts, accounts = {}) {
|
|
34
|
+
ixAccounts.forEach((acc) => {
|
|
35
|
+
if ((0, idl_js_1.isCompositeAccounts)(acc)) {
|
|
36
|
+
validateAccounts(acc.accounts, accounts[acc.name]);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
if (!accounts[acc.name]) {
|
|
40
|
+
throw new Error(`Account \`${acc.name}\` not provided.`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
// Translates an address to a Pubkey.
|
|
46
|
+
function translateAddress(address) {
|
|
47
|
+
return address instanceof web3_js_1.PublicKey ? address : new web3_js_1.PublicKey(address);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/program/common.ts"],"names":[],"mappings":";;AAeA,wCASC;AAED,sCAYC;AAGD,4CAaC;AAGD,4CAEC;AA1DD,6CAA4C;AAC5C,sCAKmB;AAQnB,SAAgB,cAAc,CAAC,GAAQ;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;YACvB,IAAI,GAAG,GAAG,MAAA,CAAC,CAAC,GAAG,mCAAI,CAAC,CAAC,IAAI,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,aAAa,CAAC,KAAqB,EAAE,GAAG,IAAW;IACjE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,EAAE,GAA2B,EAAE,CAAC;IACtC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,GAAG,IAAI,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,kEAAkE;AAClE,SAAgB,gBAAgB,CAC9B,UAAuC,EACvC,WAAqB,EAAE;IAEvB,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,IAAI,IAAA,4BAAmB,EAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAa,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qCAAqC;AACrC,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,OAAO,YAAY,mBAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { AccountMeta, ConfirmOptions, Signer, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import { Address } from "./common.js";
|
|
3
|
+
import { IdlInstructionAccountItem, IdlInstructionAccounts, IdlInstruction } from "../idl.js";
|
|
4
|
+
/**
|
|
5
|
+
* Context provides all non-argument inputs for generating Anchor transactions.
|
|
6
|
+
*/
|
|
7
|
+
export type Context<A extends Accounts = Accounts> = {
|
|
8
|
+
/**
|
|
9
|
+
* Accounts used in the instruction context.
|
|
10
|
+
*/
|
|
11
|
+
accounts?: A;
|
|
12
|
+
/**
|
|
13
|
+
* All accounts to pass into an instruction *after* the main `accounts`.
|
|
14
|
+
* This can be used for optional or otherwise unknown accounts.
|
|
15
|
+
*/
|
|
16
|
+
remainingAccounts?: AccountMeta[];
|
|
17
|
+
/**
|
|
18
|
+
* Accounts that must sign a given transaction.
|
|
19
|
+
*/
|
|
20
|
+
signers?: Array<Signer>;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated use preInstructions instead.
|
|
23
|
+
* Instructions to run *before* a given method. Often this is used, for
|
|
24
|
+
* example to create accounts prior to executing a method.
|
|
25
|
+
*/
|
|
26
|
+
instructions?: TransactionInstruction[];
|
|
27
|
+
/**
|
|
28
|
+
* Instructions to run *before* a given method. Often this is used, for
|
|
29
|
+
* example to create accounts prior to executing a method.
|
|
30
|
+
*/
|
|
31
|
+
preInstructions?: TransactionInstruction[];
|
|
32
|
+
/**
|
|
33
|
+
* Instructions to run *after* a given method. Often this is used, for
|
|
34
|
+
* example to close accounts after executing a method.
|
|
35
|
+
*/
|
|
36
|
+
postInstructions?: TransactionInstruction[];
|
|
37
|
+
/**
|
|
38
|
+
* Commitment parameters to use for a transaction.
|
|
39
|
+
*/
|
|
40
|
+
options?: ConfirmOptions;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* A set of accounts mapping one-to-one to the program's accounts struct, i.e.,
|
|
44
|
+
* the type deriving `#[derive(Accounts)]`.
|
|
45
|
+
*
|
|
46
|
+
* The name of each field should match the name for that account in the IDL.
|
|
47
|
+
*
|
|
48
|
+
* If multiple accounts are nested in the rust program, then they should be
|
|
49
|
+
* nested here.
|
|
50
|
+
*/
|
|
51
|
+
export type Accounts<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = {
|
|
52
|
+
[N in A["name"]]: Account<A & {
|
|
53
|
+
name: N;
|
|
54
|
+
}>;
|
|
55
|
+
};
|
|
56
|
+
type Account<A extends IdlInstructionAccountItem> = A extends IdlInstructionAccounts ? Accounts<A["accounts"][number]> : A extends {
|
|
57
|
+
optional: true;
|
|
58
|
+
} ? Address | null : A extends {
|
|
59
|
+
signer: true;
|
|
60
|
+
} ? Address | undefined : Address;
|
|
61
|
+
export declare function splitArgsAndCtx(idlIx: IdlInstruction, args: any[]): [any[], Context];
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/program/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,cAAc,EACd,MAAM,EACN,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACf,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI;IACnD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEb;;;OAGG;IACH,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExB;;;;OAIG;IACH,YAAY,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAExC;;;OAGG;IACH,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAE3C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAE5C;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,yBAAyB,GAAG,yBAAyB,IAC7D;KACD,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,KAAK,OAAO,CAAC,CAAC,SAAS,yBAAyB,IAC9C,CAAC,SAAS,sBAAsB,GAC5B,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAC/B,CAAC,SAAS;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAC5B,OAAO,GAAG,IAAI,GACd,CAAC,SAAS;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAC1B,OAAO,GAAG,SAAS,GACnB,OAAO,CAAC;AAEd,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,GAAG,EAAE,GACV,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAgBlB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.splitArgsAndCtx = splitArgsAndCtx;
|
|
4
|
+
function splitArgsAndCtx(idlIx, args) {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
let options = {};
|
|
7
|
+
const inputLen = idlIx.args ? idlIx.args.length : 0;
|
|
8
|
+
if (args.length > inputLen) {
|
|
9
|
+
if (args.length !== inputLen + 1) {
|
|
10
|
+
throw new Error(`provided too many arguments ${args} to instruction ${idlIx === null || idlIx === void 0 ? void 0 : idlIx.name} expecting: ${(_b = (_a = idlIx.args) === null || _a === void 0 ? void 0 : _a.map((a) => a.name)) !== null && _b !== void 0 ? _b : []}`);
|
|
11
|
+
}
|
|
12
|
+
options = args.pop();
|
|
13
|
+
}
|
|
14
|
+
return [args, options];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/program/context.ts"],"names":[],"mappings":";;AAkFA,0CAmBC;AAnBD,SAAgB,eAAe,CAC7B,KAAqB,EACrB,IAAW;;IAEX,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,mBACjC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IACT,eAAe,MAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE,CACtD,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzB,CAAC"}
|