@sentio/sdk 2.0.0-rc.9 → 2.0.1-rc.1
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/lib/aptos/api.d.ts +5 -0
- package/lib/aptos/api.js +21 -0
- package/lib/aptos/api.js.map +1 -0
- package/lib/aptos/aptos-plugin.d.ts +14 -0
- package/lib/aptos/aptos-plugin.js +146 -0
- package/lib/aptos/aptos-plugin.js.map +1 -0
- package/lib/aptos/aptos-processor.d.ts +72 -0
- package/lib/aptos/aptos-processor.js +201 -0
- package/lib/aptos/aptos-processor.js.map +1 -0
- package/lib/aptos/builtin/0x1.d.ts +1914 -0
- package/lib/aptos/builtin/0x1.js +2727 -0
- package/lib/aptos/builtin/0x1.js.map +1 -0
- package/lib/aptos/builtin/0x3.d.ts +491 -0
- package/lib/aptos/builtin/0x3.js +496 -0
- package/lib/aptos/builtin/0x3.js.map +1 -0
- package/lib/aptos/builtin/index.d.ts +2 -0
- package/lib/aptos/builtin/index.js +6 -0
- package/lib/aptos/builtin/index.js.map +1 -0
- package/lib/aptos/codegen/codegen.d.ts +21 -0
- package/lib/aptos/codegen/codegen.js +384 -0
- package/lib/aptos/codegen/codegen.js.map +1 -0
- package/lib/aptos/codegen/index.d.ts +1 -0
- package/lib/aptos/codegen/index.js +2 -0
- package/lib/aptos/codegen/index.js.map +1 -0
- package/lib/aptos/codegen/run.d.ts +1 -0
- package/lib/aptos/codegen/run.js +12 -0
- package/lib/aptos/codegen/run.js.map +1 -0
- package/lib/aptos/codegen/typegen.d.ts +18 -0
- package/lib/aptos/codegen/typegen.js +145 -0
- package/lib/aptos/codegen/typegen.js.map +1 -0
- package/lib/aptos/codegen/typegen.test.d.ts +1 -0
- package/lib/aptos/codegen/typegen.test.js.map +1 -0
- package/lib/aptos/context.d.ts +21 -0
- package/lib/aptos/context.js +59 -0
- package/lib/aptos/context.js.map +1 -0
- package/lib/aptos/index.d.ts +9 -0
- package/lib/aptos/index.js +8 -0
- package/lib/aptos/index.js.map +1 -0
- package/lib/aptos/models.d.ts +29 -0
- package/lib/aptos/models.js +2 -0
- package/lib/aptos/models.js.map +1 -0
- package/lib/aptos/move-coder.d.ts +22 -0
- package/lib/aptos/move-coder.js +162 -0
- package/lib/aptos/move-coder.js.map +1 -0
- package/lib/aptos/move-types.d.ts +10 -0
- package/lib/aptos/move-types.js +2 -0
- package/lib/aptos/move-types.js.map +1 -0
- package/lib/aptos/network.d.ts +11 -0
- package/lib/aptos/network.js +27 -0
- package/lib/aptos/network.js.map +1 -0
- package/lib/aptos/tests/aptos.test.d.ts +1 -0
- package/lib/aptos/tests/aptos.test.js.map +1 -0
- package/lib/aptos/tests/souffl3.d.ts +1 -0
- package/lib/aptos/tests/souffl3.js +44 -0
- package/lib/aptos/tests/souffl3.js.map +1 -0
- package/lib/aptos/tests/types/index.d.ts +3 -0
- package/lib/aptos/tests/types/index.js +7 -0
- package/lib/aptos/tests/types/index.js.map +1 -0
- package/lib/aptos/tests/types/reserved.d.ts +345 -0
- package/lib/aptos/tests/types/reserved.js +301 -0
- package/lib/aptos/tests/types/reserved.js.map +1 -0
- package/lib/aptos/tests/types/soffl3.d.ts +812 -0
- package/lib/aptos/tests/types/soffl3.js +548 -0
- package/lib/aptos/tests/types/soffl3.js.map +1 -0
- package/lib/aptos/tests/types/souffle.d.ts +340 -0
- package/lib/aptos/tests/types/souffle.js +295 -0
- package/lib/aptos/tests/types/souffle.js.map +1 -0
- package/lib/aptos/types.d.ts +9 -0
- package/lib/aptos/types.js +130 -0
- package/lib/aptos/types.js.map +1 -0
- package/lib/aptos/types.test.d.ts +1 -0
- package/lib/aptos/types.test.js.map +1 -0
- package/lib/aptos/utils.d.ts +7 -0
- package/lib/aptos/utils.js +20 -0
- package/lib/aptos/utils.js.map +1 -0
- package/lib/core/big-decimal.d.ts +2 -0
- package/lib/core/big-decimal.js +8 -0
- package/lib/core/big-decimal.js.map +1 -1
- package/lib/{utils → core}/chain.d.ts +0 -0
- package/lib/{utils → core}/chain.js +0 -0
- package/lib/core/chain.js.map +1 -0
- package/lib/core/index.d.ts +2 -4
- package/lib/core/index.js +2 -4
- package/lib/core/index.js.map +1 -1
- package/lib/core/numberish.d.ts +0 -2
- package/lib/core/numberish.js +0 -9
- package/lib/core/numberish.js.map +1 -1
- package/lib/core/sui-plugin.js +1 -1
- package/lib/core/sui-plugin.js.map +1 -1
- package/lib/core/sui-processor.d.ts +1 -1
- package/lib/core/sui-processor.js +1 -1
- package/lib/core/sui-processor.js.map +1 -1
- package/lib/eth/account-processor.d.ts +4 -4
- package/lib/eth/account-processor.js +4 -4
- package/lib/eth/account-processor.js.map +1 -1
- package/lib/eth/base-processor-template.d.ts +6 -5
- package/lib/eth/base-processor-template.js +1 -1
- package/lib/eth/base-processor-template.js.map +1 -1
- package/lib/eth/base-processor.d.ts +6 -5
- package/lib/eth/base-processor.js +3 -2
- package/lib/eth/base-processor.js.map +1 -1
- package/lib/{core → eth}/bind-options.d.ts +0 -0
- package/lib/{core → eth}/bind-options.js +0 -0
- package/lib/eth/bind-options.js.map +1 -0
- package/lib/eth/binds.d.ts +2 -2
- package/lib/eth/binds.js +1 -1
- package/lib/eth/binds.js.map +1 -1
- package/lib/{builtin → eth/builtin}/eacaggregatorproxy/index.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/eacaggregatorproxy/index.js +0 -0
- package/lib/eth/builtin/eacaggregatorproxy/index.js.map +1 -0
- package/lib/{builtin → eth/builtin}/eacaggregatorproxy/test-utils.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/eacaggregatorproxy/test-utils.js +0 -0
- package/lib/eth/builtin/eacaggregatorproxy/test-utils.js.map +1 -0
- package/lib/{builtin → eth/builtin}/erc1155/index.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/erc1155/index.js +0 -0
- package/lib/eth/builtin/erc1155/index.js.map +1 -0
- package/lib/{builtin → eth/builtin}/erc1155/test-utils.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/erc1155/test-utils.js +0 -0
- package/lib/eth/builtin/erc1155/test-utils.js.map +1 -0
- package/lib/{builtin → eth/builtin}/erc20/index.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/erc20/index.js +0 -0
- package/lib/eth/builtin/erc20/index.js.map +1 -0
- package/lib/{builtin → eth/builtin}/erc20/test-utils.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/erc20/test-utils.js +0 -0
- package/lib/eth/builtin/erc20/test-utils.js.map +1 -0
- package/lib/{builtin → eth/builtin}/erc20bytes/index.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/erc20bytes/index.js +0 -0
- package/lib/eth/builtin/erc20bytes/index.js.map +1 -0
- package/lib/{builtin → eth/builtin}/erc20bytes/test-utils.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/erc20bytes/test-utils.js +0 -0
- package/lib/eth/builtin/erc20bytes/test-utils.js.map +1 -0
- package/lib/{builtin → eth/builtin}/erc721/index.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/erc721/index.js +0 -0
- package/lib/eth/builtin/erc721/index.js.map +1 -0
- package/lib/{builtin → eth/builtin}/erc721/test-utils.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/erc721/test-utils.js +0 -0
- package/lib/eth/builtin/erc721/test-utils.js.map +1 -0
- package/lib/{builtin → eth/builtin}/index.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/index.js +0 -0
- package/lib/eth/builtin/index.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/EACAggregatorProxy.d.ts +5 -5
- package/lib/{builtin → eth/builtin}/internal/EACAggregatorProxy.js +0 -0
- package/lib/eth/builtin/internal/EACAggregatorProxy.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/ERC1155.d.ts +5 -5
- package/lib/{builtin → eth/builtin}/internal/ERC1155.js +0 -0
- package/lib/eth/builtin/internal/ERC1155.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/ERC20.d.ts +4 -4
- package/lib/{builtin → eth/builtin}/internal/ERC20.js +0 -0
- package/lib/eth/builtin/internal/ERC20.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/ERC20Bytes.d.ts +3 -3
- package/lib/{builtin → eth/builtin}/internal/ERC20Bytes.js +0 -0
- package/lib/eth/builtin/internal/ERC20Bytes.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/ERC721.d.ts +4 -4
- package/lib/{builtin → eth/builtin}/internal/ERC721.js +0 -0
- package/lib/eth/builtin/internal/ERC721.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/WETH9.d.ts +5 -5
- package/lib/{builtin → eth/builtin}/internal/WETH9.js +0 -0
- package/lib/eth/builtin/internal/WETH9.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/common.d.ts +4 -2
- package/lib/{builtin → eth/builtin}/internal/common.js +0 -0
- package/lib/eth/builtin/internal/common.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/eacaggregatorproxy_processor.d.ts +5 -5
- package/lib/{builtin → eth/builtin}/internal/eacaggregatorproxy_processor.js +92 -182
- package/lib/eth/builtin/internal/eacaggregatorproxy_processor.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/erc1155_processor.d.ts +5 -5
- package/lib/{builtin → eth/builtin}/internal/erc1155_processor.js +27 -52
- package/lib/eth/builtin/internal/erc1155_processor.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/erc20_processor.d.ts +4 -4
- package/lib/{builtin → eth/builtin}/internal/erc20_processor.js +42 -82
- package/lib/eth/builtin/internal/erc20_processor.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/erc20bytes_processor.d.ts +3 -3
- package/lib/{builtin → eth/builtin}/internal/erc20bytes_processor.js +32 -62
- package/lib/eth/builtin/internal/erc20bytes_processor.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/erc721_processor.d.ts +4 -4
- package/lib/{builtin → eth/builtin}/internal/erc721_processor.js +47 -92
- package/lib/eth/builtin/internal/erc721_processor.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/factories/EACAggregatorProxy__factory.d.ts +1 -1
- package/lib/{builtin → eth/builtin}/internal/factories/EACAggregatorProxy__factory.js +0 -0
- package/lib/eth/builtin/internal/factories/EACAggregatorProxy__factory.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/factories/ERC1155__factory.d.ts +1 -1
- package/lib/{builtin → eth/builtin}/internal/factories/ERC1155__factory.js +0 -0
- package/lib/eth/builtin/internal/factories/ERC1155__factory.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/factories/ERC20Bytes__factory.d.ts +1 -1
- package/lib/{builtin → eth/builtin}/internal/factories/ERC20Bytes__factory.js +0 -0
- package/lib/eth/builtin/internal/factories/ERC20Bytes__factory.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/factories/ERC20__factory.d.ts +1 -1
- package/lib/{builtin → eth/builtin}/internal/factories/ERC20__factory.js +0 -0
- package/lib/eth/builtin/internal/factories/ERC20__factory.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/factories/ERC721__factory.d.ts +1 -1
- package/lib/{builtin → eth/builtin}/internal/factories/ERC721__factory.js +0 -0
- package/lib/eth/builtin/internal/factories/ERC721__factory.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/factories/WETH9__factory.d.ts +1 -1
- package/lib/{builtin → eth/builtin}/internal/factories/WETH9__factory.js +0 -0
- package/lib/eth/builtin/internal/factories/WETH9__factory.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/factories/index.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/internal/factories/index.js +0 -0
- package/lib/eth/builtin/internal/factories/index.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/index.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/internal/index.js +0 -0
- package/lib/eth/builtin/internal/index.js.map +1 -0
- package/lib/{builtin → eth/builtin}/internal/weth9_processor.d.ts +5 -5
- package/lib/{builtin → eth/builtin}/internal/weth9_processor.js +32 -62
- package/lib/eth/builtin/internal/weth9_processor.js.map +1 -0
- package/lib/{builtin → eth/builtin}/weth9/index.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/weth9/index.js +0 -0
- package/lib/eth/builtin/weth9/index.js.map +1 -0
- package/lib/{builtin → eth/builtin}/weth9/test-utils.d.ts +0 -0
- package/lib/{builtin → eth/builtin}/weth9/test-utils.js +0 -0
- package/lib/eth/builtin/weth9/test-utils.js.map +1 -0
- package/lib/eth/codegen/codegen.d.ts +1 -0
- package/lib/eth/codegen/codegen.js +53 -0
- package/lib/eth/codegen/codegen.js.map +1 -0
- package/lib/{target-ethers-sentio/index.d.cts → eth/codegen/ethers-sentio.d.ts} +1 -1
- package/lib/eth/codegen/ethers-sentio.js +57 -0
- package/lib/eth/codegen/ethers-sentio.js.map +1 -0
- package/lib/{target-ethers-sentio/event-handler.d.cts → eth/codegen/event-handler.d.ts} +0 -0
- package/lib/eth/codegen/event-handler.js +46 -0
- package/lib/eth/codegen/event-handler.js.map +1 -0
- package/lib/{target-ethers-sentio/file.d.cts → eth/codegen/file.d.ts} +0 -0
- package/lib/{target-ethers-sentio/file.cjs → eth/codegen/file.js} +28 -35
- package/lib/eth/codegen/file.js.map +1 -0
- package/lib/{target-ethers-sentio/functions-handler.d.cts → eth/codegen/functions-handler.d.ts} +0 -0
- package/lib/{target-ethers-sentio/functions-handler.cjs → eth/codegen/functions-handler.js} +13 -18
- package/lib/eth/codegen/functions-handler.js.map +1 -0
- package/lib/eth/codegen/index.d.ts +1 -0
- package/lib/eth/codegen/index.js +2 -0
- package/lib/eth/codegen/index.js.map +1 -0
- package/lib/eth/codegen/run.d.ts +2 -0
- package/lib/eth/codegen/run.js +12 -0
- package/lib/eth/codegen/run.js.map +1 -0
- package/lib/{target-ethers-sentio/types.d.cts → eth/codegen/types.d.ts} +0 -0
- package/lib/{target-ethers-sentio/types.cjs → eth/codegen/types.js} +4 -10
- package/lib/eth/codegen/types.js.map +1 -0
- package/lib/{target-ethers-sentio/view-function.d.cts → eth/codegen/view-function.d.ts} +0 -0
- package/lib/eth/codegen/view-function.js +62 -0
- package/lib/eth/codegen/view-function.js.map +1 -0
- package/lib/{core → eth}/context.d.ts +5 -4
- package/lib/{core → eth}/context.js +7 -8
- package/lib/eth/context.js.map +1 -0
- package/lib/eth/error.d.ts +1 -0
- package/lib/eth/error.js +3 -0
- package/lib/eth/error.js.map +1 -0
- package/lib/eth/eth.d.ts +13 -0
- package/lib/{error.js → eth/eth.js} +20 -14
- package/lib/eth/eth.js.map +1 -0
- package/lib/eth/generic-processor.d.ts +2 -2
- package/lib/eth/generic-processor.js +2 -2
- package/lib/eth/generic-processor.js.map +1 -1
- package/lib/eth/generic-processor.test.js.map +1 -1
- package/lib/eth/index.d.ts +5 -1
- package/lib/eth/index.js +5 -1
- package/lib/eth/index.js.map +1 -1
- package/lib/eth/provider.js +3 -2
- package/lib/eth/provider.js.map +1 -1
- package/lib/index.d.ts +1 -3
- package/lib/index.js +1 -5
- package/lib/index.js.map +1 -1
- package/lib/jest.config.d.ts +9 -0
- package/lib/jest.config.js +9 -0
- package/lib/jest.config.js.map +1 -0
- package/lib/solana/builtin/index.d.ts +1 -0
- package/lib/solana/builtin/index.js +2 -0
- package/lib/solana/builtin/index.js.map +1 -0
- package/lib/solana/builtin/spl-token-processor.d.ts +39 -0
- package/lib/solana/builtin/spl-token-processor.js +254 -0
- package/lib/solana/builtin/spl-token-processor.js.map +1 -0
- package/lib/solana/builtin/types.d.ts +427 -0
- package/lib/solana/builtin/types.js +200 -0
- package/lib/solana/builtin/types.js.map +1 -0
- package/lib/solana/codegen/codegen.d.ts +1 -0
- package/lib/solana/codegen/codegen.js +122 -0
- package/lib/solana/codegen/codegen.js.map +1 -0
- package/lib/solana/codegen/index.d.ts +1 -0
- package/lib/solana/codegen/index.js +2 -0
- package/lib/solana/codegen/index.js.map +1 -0
- package/lib/solana/codegen/run.d.ts +2 -0
- package/lib/solana/codegen/run.js +12 -0
- package/lib/solana/codegen/run.js.map +1 -0
- package/lib/solana/index.d.ts +4 -0
- package/lib/solana/index.js +5 -0
- package/lib/solana/index.js.map +1 -0
- package/lib/solana/solana-context.d.ts +9 -0
- package/lib/solana/solana-context.js +28 -0
- package/lib/solana/solana-context.js.map +1 -0
- package/lib/solana/solana-options.d.ts +10 -0
- package/lib/solana/solana-options.js +10 -0
- package/lib/solana/solana-options.js.map +1 -0
- package/lib/solana/solana-plugin.d.ts +9 -0
- package/lib/solana/solana-plugin.js +87 -0
- package/lib/solana/solana-plugin.js.map +1 -0
- package/lib/solana/solana-processor.d.ts +43 -0
- package/lib/solana/solana-processor.js +72 -0
- package/lib/solana/solana-processor.js.map +1 -0
- package/lib/solana/tests/solana.test.d.ts +1 -0
- package/lib/solana/tests/solana.test.js.map +1 -0
- package/lib/solana/tests/types/basic_1.d.ts +26 -0
- package/lib/solana/tests/types/basic_1.js +63 -0
- package/lib/solana/tests/types/basic_1.js.map +1 -0
- package/lib/solana/tests/types/basic_1_processor.d.ts +21 -0
- package/lib/solana/tests/types/basic_1_processor.js +35 -0
- package/lib/solana/tests/types/basic_1_processor.js.map +1 -0
- package/lib/solana/tests/types/token_bridge.d.ts +29 -0
- package/lib/solana/tests/types/token_bridge.js +938 -0
- package/lib/solana/tests/types/token_bridge.js.map +1 -0
- package/lib/solana/tests/types/token_bridge_processor.d.ts +212 -0
- package/lib/solana/tests/types/token_bridge_processor.js +134 -0
- package/lib/solana/tests/types/token_bridge_processor.js.map +1 -0
- package/lib/solana/tests/wormhole-token-bridge.d.ts +15 -0
- package/lib/solana/tests/wormhole-token-bridge.js +79 -0
- package/lib/solana/tests/wormhole-token-bridge.js.map +1 -0
- package/lib/testing/test-processor-server.js +1 -1
- package/lib/testing/test-processor-server.js.map +1 -1
- package/lib/testing/test-provider.js +1 -1
- package/lib/testing/test-provider.js.map +1 -1
- package/lib/tsup.config.ts +3 -0
- package/lib/utils/conversion.d.ts +0 -5
- package/lib/utils/conversion.js +21 -20
- package/lib/utils/conversion.js.map +1 -1
- package/lib/utils/dex-price.js +2 -2
- package/lib/utils/dex-price.js.map +1 -1
- package/lib/utils/index.d.ts +3 -3
- package/lib/utils/index.js +3 -3
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/token.d.ts +0 -1
- package/lib/utils/token.js +17 -28
- package/lib/utils/token.js.map +1 -1
- package/package.json +42 -20
- package/src/aptos/abis/0x1.json +9205 -0
- package/src/aptos/abis/0x3.json +1515 -0
- package/src/aptos/api.ts +23 -0
- package/src/aptos/aptos-plugin.ts +183 -0
- package/src/aptos/aptos-processor.ts +331 -0
- package/src/aptos/builtin/0x1.ts +4685 -0
- package/src/aptos/builtin/0x3.ts +1010 -0
- package/src/aptos/builtin/index.ts +5 -0
- package/src/aptos/codegen/codegen.ts +461 -0
- package/src/aptos/codegen/index.ts +1 -0
- package/src/aptos/codegen/run.ts +13 -0
- package/src/aptos/codegen/tsconfig.json +8 -0
- package/src/aptos/codegen/typegen.ts +165 -0
- package/src/aptos/context.ts +72 -0
- package/src/aptos/index.ts +10 -0
- package/src/aptos/models.ts +37 -0
- package/src/aptos/move-coder.ts +199 -0
- package/src/aptos/move-types.ts +11 -0
- package/src/aptos/network.ts +29 -0
- package/src/aptos/tests/abis/reserved.json +402 -0
- package/src/aptos/tests/abis/soffl3.json +1411 -0
- package/src/aptos/tests/abis/souffle.json +389 -0
- package/src/aptos/tests/souffl3.ts +57 -0
- package/src/aptos/tests/types/index.ts +6 -0
- package/src/aptos/tests/types/reserved.ts +781 -0
- package/src/aptos/tests/types/soffl3.ts +1567 -0
- package/src/aptos/tests/types/souffle.ts +780 -0
- package/src/aptos/types.ts +149 -0
- package/src/aptos/utils.ts +26 -0
- package/src/core/big-decimal.ts +11 -0
- package/src/{utils → core}/chain.ts +0 -0
- package/src/core/index.ts +2 -5
- package/src/core/numberish.ts +0 -11
- package/src/core/sui-plugin.ts +1 -1
- package/src/core/sui-processor.ts +1 -1
- package/src/{abis → eth/abis}/EACAggregatorProxy.json +0 -0
- package/src/{abis → eth/abis}/ERC1155.json +0 -0
- package/src/{abis → eth/abis}/ERC20.json +0 -0
- package/src/{abis → eth/abis}/ERC20Bytes.json +0 -0
- package/src/{abis → eth/abis}/ERC721.json +0 -0
- package/src/{abis → eth/abis}/WETH9.json +0 -0
- package/src/eth/account-processor.ts +7 -7
- package/src/eth/base-processor-template.ts +5 -4
- package/src/eth/base-processor.ts +10 -20
- package/src/{core → eth}/bind-options.ts +0 -0
- package/src/eth/binds.ts +2 -2
- package/src/{builtin → eth/builtin}/eacaggregatorproxy/index.ts +0 -0
- package/src/{builtin → eth/builtin}/eacaggregatorproxy/test-utils.ts +0 -0
- package/src/{builtin → eth/builtin}/erc1155/index.ts +0 -0
- package/src/{builtin → eth/builtin}/erc1155/test-utils.ts +0 -0
- package/src/{builtin → eth/builtin}/erc20/index.ts +0 -0
- package/src/{builtin → eth/builtin}/erc20/test-utils.ts +0 -0
- package/src/{builtin → eth/builtin}/erc20bytes/index.ts +0 -0
- package/src/{builtin → eth/builtin}/erc20bytes/test-utils.ts +0 -0
- package/src/{builtin → eth/builtin}/erc721/index.ts +0 -0
- package/src/{builtin → eth/builtin}/erc721/test-utils.ts +0 -0
- package/src/{builtin → eth/builtin}/index.ts +0 -0
- package/src/{builtin → eth/builtin}/internal/EACAggregatorProxy.ts +5 -9
- package/src/{builtin → eth/builtin}/internal/ERC1155.ts +5 -9
- package/src/{builtin → eth/builtin}/internal/ERC20.ts +4 -7
- package/src/{builtin → eth/builtin}/internal/ERC20Bytes.ts +3 -5
- package/src/{builtin → eth/builtin}/internal/ERC721.ts +4 -7
- package/src/{builtin → eth/builtin}/internal/WETH9.ts +5 -9
- package/src/eth/builtin/internal/common.ts +22 -0
- package/src/{builtin → eth/builtin}/internal/eacaggregatorproxy_processor.ts +92 -164
- package/src/{builtin → eth/builtin}/internal/erc1155_processor.ts +27 -51
- package/src/{builtin → eth/builtin}/internal/erc20_processor.ts +42 -74
- package/src/{builtin → eth/builtin}/internal/erc20bytes_processor.ts +32 -56
- package/src/{builtin → eth/builtin}/internal/erc721_processor.ts +47 -83
- package/src/{builtin → eth/builtin}/internal/factories/EACAggregatorProxy__factory.ts +1 -1
- package/src/{builtin → eth/builtin}/internal/factories/ERC1155__factory.ts +1 -1
- package/src/{builtin → eth/builtin}/internal/factories/ERC20Bytes__factory.ts +1 -1
- package/src/{builtin → eth/builtin}/internal/factories/ERC20__factory.ts +1 -1
- package/src/{builtin → eth/builtin}/internal/factories/ERC721__factory.ts +1 -1
- package/src/{builtin → eth/builtin}/internal/factories/WETH9__factory.ts +1 -1
- package/src/{builtin → eth/builtin}/internal/factories/index.ts +0 -0
- package/src/{builtin → eth/builtin}/internal/index.ts +0 -0
- package/src/{builtin → eth/builtin}/internal/weth9_processor.ts +32 -56
- package/src/{builtin → eth/builtin}/weth9/index.ts +0 -0
- package/src/{builtin → eth/builtin}/weth9/test-utils.ts +0 -0
- package/src/eth/codegen/codegen.ts +62 -0
- package/src/{target-ethers-sentio/index.cts → eth/codegen/ethers-sentio.ts} +2 -2
- package/src/{target-ethers-sentio/event-handler.cts → eth/codegen/event-handler.ts} +2 -2
- package/src/{target-ethers-sentio/file.cts → eth/codegen/file.ts} +7 -7
- package/src/{target-ethers-sentio/functions-handler.cts → eth/codegen/functions-handler.ts} +4 -4
- package/src/eth/codegen/index.ts +1 -0
- package/src/eth/codegen/run.ts +12 -0
- package/src/eth/codegen/tsconfig.json +8 -0
- package/src/{target-ethers-sentio/types.cts → eth/codegen/types.ts} +1 -1
- package/src/{target-ethers-sentio/view-function.cts → eth/codegen/view-function.ts} +7 -12
- package/src/{core → eth}/context.ts +8 -9
- package/src/eth/error.ts +4 -0
- package/src/eth/eth.ts +56 -0
- package/src/eth/generic-processor.ts +3 -3
- package/src/eth/index.ts +6 -2
- package/src/eth/provider.ts +4 -3
- package/src/index.ts +1 -6
- package/src/jest.config.ts +8 -0
- package/src/solana/builtin/index.ts +1 -0
- package/src/solana/builtin/spl-token-processor.ts +298 -0
- package/src/solana/builtin/types.ts +279 -0
- package/src/solana/codegen/codegen.ts +140 -0
- package/src/solana/codegen/index.ts +1 -0
- package/src/solana/codegen/run.ts +12 -0
- package/src/solana/codegen/tsconfig.json +8 -0
- package/src/solana/index.ts +4 -0
- package/src/solana/solana-context.ts +30 -0
- package/src/solana/solana-options.ts +11 -0
- package/src/solana/solana-plugin.ts +103 -0
- package/src/solana/solana-processor.ts +102 -0
- package/src/solana/tests/abis/basic_1.json +62 -0
- package/src/solana/tests/abis/token_bridge.json +937 -0
- package/src/solana/tests/types/basic_1.ts +62 -0
- package/src/solana/tests/types/basic_1_processor.ts +42 -0
- package/src/solana/tests/types/token_bridge.ts +937 -0
- package/src/solana/tests/types/token_bridge_processor.ts +150 -0
- package/src/solana/tests/wormhole-token-bridge.ts +96 -0
- package/src/testing/test-processor-server.ts +1 -1
- package/src/testing/test-provider.ts +1 -1
- package/src/tsup.config.ts +3 -0
- package/src/utils/conversion.ts +21 -25
- package/src/utils/dex-price.ts +2 -3
- package/src/utils/index.ts +3 -3
- package/src/utils/token.ts +19 -30
- package/lib/builtin/eacaggregatorproxy/index.js.map +0 -1
- package/lib/builtin/eacaggregatorproxy/test-utils.js.map +0 -1
- package/lib/builtin/erc1155/index.js.map +0 -1
- package/lib/builtin/erc1155/test-utils.js.map +0 -1
- package/lib/builtin/erc20/index.js.map +0 -1
- package/lib/builtin/erc20/test-utils.js.map +0 -1
- package/lib/builtin/erc20bytes/index.js.map +0 -1
- package/lib/builtin/erc20bytes/test-utils.js.map +0 -1
- package/lib/builtin/erc721/index.js.map +0 -1
- package/lib/builtin/erc721/test-utils.js.map +0 -1
- package/lib/builtin/index.js.map +0 -1
- package/lib/builtin/internal/EACAggregatorProxy.js.map +0 -1
- package/lib/builtin/internal/ERC1155.js.map +0 -1
- package/lib/builtin/internal/ERC20.js.map +0 -1
- package/lib/builtin/internal/ERC20Bytes.js.map +0 -1
- package/lib/builtin/internal/ERC721.js.map +0 -1
- package/lib/builtin/internal/WETH9.js.map +0 -1
- package/lib/builtin/internal/common.js.map +0 -1
- package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +0 -1
- package/lib/builtin/internal/erc1155_processor.js.map +0 -1
- package/lib/builtin/internal/erc20_processor.js.map +0 -1
- package/lib/builtin/internal/erc20bytes_processor.js.map +0 -1
- package/lib/builtin/internal/erc721_processor.js.map +0 -1
- package/lib/builtin/internal/factories/EACAggregatorProxy__factory.js.map +0 -1
- package/lib/builtin/internal/factories/ERC1155__factory.js.map +0 -1
- package/lib/builtin/internal/factories/ERC20Bytes__factory.js.map +0 -1
- package/lib/builtin/internal/factories/ERC20__factory.js.map +0 -1
- package/lib/builtin/internal/factories/ERC721__factory.js.map +0 -1
- package/lib/builtin/internal/factories/WETH9__factory.js.map +0 -1
- package/lib/builtin/internal/factories/index.js.map +0 -1
- package/lib/builtin/internal/index.js.map +0 -1
- package/lib/builtin/internal/weth9_processor.js.map +0 -1
- package/lib/builtin/weth9/index.js.map +0 -1
- package/lib/builtin/weth9/test-utils.js.map +0 -1
- package/lib/core/bind-options.js.map +0 -1
- package/lib/core/context.js.map +0 -1
- package/lib/error.d.ts +0 -7
- package/lib/error.js.map +0 -1
- package/lib/target-ethers-sentio/event-handler.cjs +0 -52
- package/lib/target-ethers-sentio/event-handler.cjs.map +0 -1
- package/lib/target-ethers-sentio/file.cjs.map +0 -1
- package/lib/target-ethers-sentio/functions-handler.cjs.map +0 -1
- package/lib/target-ethers-sentio/index.cjs +0 -61
- package/lib/target-ethers-sentio/index.cjs.map +0 -1
- package/lib/target-ethers-sentio/types.cjs.map +0 -1
- package/lib/target-ethers-sentio/view-function.cjs +0 -74
- package/lib/target-ethers-sentio/view-function.cjs.map +0 -1
- package/lib/utils/chain.js.map +0 -1
- package/src/builtin/internal/common.ts +0 -46
- package/src/error.ts +0 -45
- package/src/target-ethers-sentio/.eslintrc.json +0 -14
- package/src/target-ethers-sentio/tsconfig.json +0 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './codegen.js'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { codegen } from './codegen.js'
|
|
4
|
+
|
|
5
|
+
if (process.argv.length > 3) {
|
|
6
|
+
const abisDir = process.argv[2]
|
|
7
|
+
const targetDir = process.argv[3]
|
|
8
|
+
codegen(abisDir, targetDir)
|
|
9
|
+
} else {
|
|
10
|
+
console.error('Not enough argument')
|
|
11
|
+
process.exit(1)
|
|
12
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { normalizeLabels, Labels, BaseContext, RecordMetaData, CHAIN_IDS } from '@sentio/sdk'
|
|
2
|
+
|
|
3
|
+
export class SolanaContext extends BaseContext {
|
|
4
|
+
network: string
|
|
5
|
+
address: string
|
|
6
|
+
programName: string
|
|
7
|
+
blockNumber: bigint
|
|
8
|
+
|
|
9
|
+
constructor(programName: string, network: string, address: string, slot: bigint) {
|
|
10
|
+
super()
|
|
11
|
+
this.network = network || CHAIN_IDS.SOLANA_MAINNET
|
|
12
|
+
this.programName = programName
|
|
13
|
+
this.address = address
|
|
14
|
+
this.blockNumber = slot
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
getMetaData(name: string, labels: Labels): RecordMetaData {
|
|
18
|
+
return {
|
|
19
|
+
address: this.address,
|
|
20
|
+
contractName: this.programName,
|
|
21
|
+
blockNumber: this.blockNumber,
|
|
22
|
+
transactionIndex: 0,
|
|
23
|
+
transactionHash: '', // TODO add
|
|
24
|
+
logIndex: 0,
|
|
25
|
+
chainId: this.network,
|
|
26
|
+
name: name,
|
|
27
|
+
labels: normalizeLabels(labels),
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InstructionCoder } from './solana-processor.js'
|
|
2
|
+
|
|
3
|
+
export class SolanaBindOptions {
|
|
4
|
+
address: string
|
|
5
|
+
network?: string
|
|
6
|
+
name?: string
|
|
7
|
+
startBlock?: bigint | number
|
|
8
|
+
endBlock?: bigint | number
|
|
9
|
+
processInnerInstruction?: boolean
|
|
10
|
+
instructionCoder?: InstructionCoder
|
|
11
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { errorString, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime'
|
|
2
|
+
import { ContractConfig, DataBinding, HandlerType, ProcessConfigResponse, ProcessResult } from '@sentio/protos'
|
|
3
|
+
|
|
4
|
+
import { ServerError, Status } from 'nice-grpc'
|
|
5
|
+
|
|
6
|
+
import { SolanaProcessorState } from './solana-processor.js'
|
|
7
|
+
import { Instruction as SolInstruction } from '@project-serum/anchor'
|
|
8
|
+
|
|
9
|
+
export class SolanaPlugin extends Plugin {
|
|
10
|
+
name: string = 'SolanaPlugin'
|
|
11
|
+
|
|
12
|
+
async configure(config: ProcessConfigResponse) {
|
|
13
|
+
// Part 2, prepare solana constractors
|
|
14
|
+
for (const solanaProcessor of SolanaProcessorState.INSTANCE.getValues()) {
|
|
15
|
+
const contractConfig: ContractConfig = {
|
|
16
|
+
transactionConfig: [],
|
|
17
|
+
processorType: USER_PROCESSOR,
|
|
18
|
+
contract: {
|
|
19
|
+
name: solanaProcessor.contractName,
|
|
20
|
+
chainId: solanaProcessor.network,
|
|
21
|
+
address: solanaProcessor.address,
|
|
22
|
+
abi: '',
|
|
23
|
+
},
|
|
24
|
+
logConfigs: [],
|
|
25
|
+
traceConfigs: [],
|
|
26
|
+
intervalConfigs: [],
|
|
27
|
+
startBlock: solanaProcessor.config.startSlot,
|
|
28
|
+
endBlock: 0n,
|
|
29
|
+
instructionConfig: {
|
|
30
|
+
innerInstruction: solanaProcessor.processInnerInstruction,
|
|
31
|
+
parsedInstruction: solanaProcessor.fromParsedInstruction !== null,
|
|
32
|
+
rawDataInstruction: solanaProcessor.decodeInstruction !== null,
|
|
33
|
+
},
|
|
34
|
+
aptosEventConfigs: [],
|
|
35
|
+
aptosCallConfigs: [],
|
|
36
|
+
}
|
|
37
|
+
config.contractConfigs.push(contractConfig)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
supportedHandlers = [HandlerType.SOL_INSTRUCTION]
|
|
42
|
+
|
|
43
|
+
processBinding(request: DataBinding): Promise<ProcessResult> {
|
|
44
|
+
switch (request.handlerType) {
|
|
45
|
+
case HandlerType.SOL_INSTRUCTION:
|
|
46
|
+
return this.processSolInstruction(request)
|
|
47
|
+
default:
|
|
48
|
+
throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
async processSolInstruction(request: DataBinding): Promise<ProcessResult> {
|
|
53
|
+
if (!request.data) {
|
|
54
|
+
throw new ServerError(Status.INVALID_ARGUMENT, 'instruction data cannot be empty')
|
|
55
|
+
}
|
|
56
|
+
if (!request.data.solInstruction) {
|
|
57
|
+
throw new ServerError(Status.INVALID_ARGUMENT, 'instruction data cannot be empty')
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const instruction = request.data.solInstruction
|
|
61
|
+
const promises: Promise<ProcessResult>[] = []
|
|
62
|
+
|
|
63
|
+
// Only have instruction handlers for solana processors
|
|
64
|
+
for (const processor of SolanaProcessorState.INSTANCE.getValues()) {
|
|
65
|
+
if (processor.address === instruction.programAccountId) {
|
|
66
|
+
let parsedInstruction: SolInstruction | null = null
|
|
67
|
+
|
|
68
|
+
try {
|
|
69
|
+
if (instruction.parsed) {
|
|
70
|
+
parsedInstruction = processor.getParsedInstruction(instruction.parsed as { type: string; info: any })
|
|
71
|
+
} else if (instruction.instructionData) {
|
|
72
|
+
parsedInstruction = processor.getParsedInstruction(instruction.instructionData)
|
|
73
|
+
}
|
|
74
|
+
} catch (e) {
|
|
75
|
+
throw new ServerError(
|
|
76
|
+
Status.INTERNAL,
|
|
77
|
+
'Failed to decode instruction: ' + JSON.stringify(instruction) + errorString(e)
|
|
78
|
+
)
|
|
79
|
+
}
|
|
80
|
+
if (parsedInstruction == null) {
|
|
81
|
+
continue
|
|
82
|
+
}
|
|
83
|
+
const insHandler = processor.getInstructionHandler(parsedInstruction)
|
|
84
|
+
if (insHandler == null) {
|
|
85
|
+
continue
|
|
86
|
+
}
|
|
87
|
+
const res = processor
|
|
88
|
+
.handleInstruction(parsedInstruction, instruction.accounts, insHandler, instruction.slot)
|
|
89
|
+
.catch((e) => {
|
|
90
|
+
throw new ServerError(
|
|
91
|
+
Status.INTERNAL,
|
|
92
|
+
'Error processing instruction: ' + JSON.stringify(instruction) + '\n' + errorString(e)
|
|
93
|
+
)
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
promises.push(res)
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return mergeProcessResults(await Promise.all(promises))
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
PluginManager.INSTANCE.register(new SolanaPlugin())
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { ProcessResult } from '@sentio/protos'
|
|
2
|
+
import { SolanaContext } from './solana-context.js'
|
|
3
|
+
import { Instruction } from '@project-serum/anchor'
|
|
4
|
+
import { SolanaBindOptions } from './solana-options.js'
|
|
5
|
+
import { ListStateStorage } from '@sentio/runtime'
|
|
6
|
+
import { CHAIN_IDS } from '@sentio/sdk'
|
|
7
|
+
|
|
8
|
+
type IndexConfigure = {
|
|
9
|
+
startSlot: bigint
|
|
10
|
+
endSlot?: bigint
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface InstructionCoder {
|
|
14
|
+
decode(ix: Buffer | string, encoding?: 'hex' | 'base58'): Instruction | null
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type SolanaInstructionHandler = (instruction: Instruction, ctx: SolanaContext, accounts?: string[]) => void
|
|
18
|
+
|
|
19
|
+
export class SolanaProcessorState extends ListStateStorage<SolanaBaseProcessor> {
|
|
20
|
+
static INSTANCE: SolanaProcessorState = new SolanaProcessorState()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export class SolanaBaseProcessor {
|
|
24
|
+
public instructionHandlerMap: Map<string, SolanaInstructionHandler> = new Map()
|
|
25
|
+
address: string
|
|
26
|
+
endpoint: string
|
|
27
|
+
contractName: string
|
|
28
|
+
network: string
|
|
29
|
+
processInnerInstruction: boolean
|
|
30
|
+
config: IndexConfigure = { startSlot: 0n }
|
|
31
|
+
instructionCoder: InstructionCoder
|
|
32
|
+
|
|
33
|
+
decodeInstruction(rawInstruction: string): Instruction | null {
|
|
34
|
+
if (this.instructionCoder) {
|
|
35
|
+
return this.instructionCoder.decode(rawInstruction, 'base58')
|
|
36
|
+
}
|
|
37
|
+
return null
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
fromParsedInstruction: (instruction: { type: string; info: any }) => Instruction | null
|
|
41
|
+
|
|
42
|
+
constructor(options: SolanaBindOptions) {
|
|
43
|
+
this.address = options.address
|
|
44
|
+
this.contractName = options.name || ''
|
|
45
|
+
this.processInnerInstruction = options.processInnerInstruction || false
|
|
46
|
+
this.network = options.network || CHAIN_IDS.SOLANA_MAINNET
|
|
47
|
+
if (options.instructionCoder) {
|
|
48
|
+
this.instructionCoder = options.instructionCoder
|
|
49
|
+
}
|
|
50
|
+
if (options.startBlock) {
|
|
51
|
+
this.startSlot(options.startBlock)
|
|
52
|
+
}
|
|
53
|
+
if (options.endBlock) {
|
|
54
|
+
this.endBlock(options.endBlock)
|
|
55
|
+
}
|
|
56
|
+
this.endpoint = options.network || 'https://api.mainnet-beta.solana.com'
|
|
57
|
+
|
|
58
|
+
SolanaProcessorState.INSTANCE.addValue(this)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
public onInstruction(instructionName: string, handler: SolanaInstructionHandler) {
|
|
62
|
+
this.instructionHandlerMap.set(instructionName, handler)
|
|
63
|
+
return this
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
public getParsedInstruction(ins: string | { type: string; info: any }): Instruction | null {
|
|
67
|
+
if (ins) {
|
|
68
|
+
if ((ins as { type: string; info: any }).info) {
|
|
69
|
+
return this.fromParsedInstruction ? this.fromParsedInstruction(ins as { type: string; info: any }) : null
|
|
70
|
+
}
|
|
71
|
+
if (this.decodeInstruction != null) {
|
|
72
|
+
return this.decodeInstruction(ins as string)
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return null
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public getInstructionHandler(parsedInstruction: Instruction): SolanaInstructionHandler | undefined {
|
|
79
|
+
return this.instructionHandlerMap.get(parsedInstruction.name)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
public async handleInstruction(
|
|
83
|
+
parsedInstruction: Instruction,
|
|
84
|
+
accounts: string[],
|
|
85
|
+
handler: SolanaInstructionHandler,
|
|
86
|
+
slot: bigint
|
|
87
|
+
): Promise<ProcessResult> {
|
|
88
|
+
const ctx = new SolanaContext(this.contractName, this.network, this.address, slot)
|
|
89
|
+
await handler(parsedInstruction, ctx, accounts)
|
|
90
|
+
return ctx.getProcessResult()
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public startSlot(startSlot: bigint | number) {
|
|
94
|
+
this.config.startSlot = BigInt(startSlot)
|
|
95
|
+
return this
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
public endBlock(endBlock: bigint | number) {
|
|
99
|
+
this.config.endSlot = BigInt(endBlock)
|
|
100
|
+
return this
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"accounts": [
|
|
3
|
+
{
|
|
4
|
+
"name": "MyAccount",
|
|
5
|
+
"type": {
|
|
6
|
+
"kind": "struct",
|
|
7
|
+
"fields": [
|
|
8
|
+
{
|
|
9
|
+
"name": "data",
|
|
10
|
+
"type": "u64"
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"instructions": [
|
|
17
|
+
{
|
|
18
|
+
"name": "initialize",
|
|
19
|
+
"accounts": [
|
|
20
|
+
{
|
|
21
|
+
"name": "myAccount",
|
|
22
|
+
"isMut": true,
|
|
23
|
+
"isSigner": true
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "user",
|
|
27
|
+
"isMut": true,
|
|
28
|
+
"isSigner": true
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "systemProgram",
|
|
32
|
+
"isMut": false,
|
|
33
|
+
"isSigner": false
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"args": [
|
|
37
|
+
{
|
|
38
|
+
"name": "data",
|
|
39
|
+
"type": "u64"
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "update",
|
|
45
|
+
"accounts": [
|
|
46
|
+
{
|
|
47
|
+
"name": "myAccount",
|
|
48
|
+
"isMut": true,
|
|
49
|
+
"isSigner": false
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"args": [
|
|
53
|
+
{
|
|
54
|
+
"name": "data",
|
|
55
|
+
"type": "u64"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"name": "basic_1",
|
|
61
|
+
"version": "0.1.0"
|
|
62
|
+
}
|