@sentio/sdk 2.0.0-rc.14 → 2.0.0-rc.15
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 +2140 -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 +573 -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 +23 -0
- package/lib/aptos/codegen/codegen.js +388 -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/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 +37 -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 +164 -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/run-codegen.d.ts +1 -0
- package/lib/aptos/run-codegen.js +12 -0
- package/lib/aptos/run-codegen.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 +445 -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 +1065 -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 +440 -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/{utils/chain.d.ts → chain.d.ts} +0 -0
- package/lib/{utils/chain.js → chain.js} +0 -0
- package/lib/chain.js.map +1 -0
- package/lib/core/context.js +1 -1
- package/lib/core/context.js.map +1 -1
- package/lib/core/sui-plugin.js +1 -1
- package/lib/core/sui-plugin.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- 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/index.d.ts +4 -0
- package/lib/solana/index.js +5 -0
- package/lib/solana/index.js.map +1 -0
- package/lib/solana/run-codegen.d.ts +2 -0
- package/lib/solana/run-codegen.js +12 -0
- package/lib/solana/run-codegen.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/utils/index.d.ts +0 -1
- package/lib/utils/index.js +0 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +33 -11
- 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 +4911 -0
- package/src/aptos/builtin/0x3.ts +1092 -0
- package/src/aptos/builtin/index.ts +5 -0
- package/src/aptos/codegen/codegen.ts +470 -0
- package/src/aptos/codegen/index.ts +1 -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 +47 -0
- package/src/aptos/move-coder.ts +201 -0
- package/src/aptos/move-types.ts +11 -0
- package/src/aptos/network.ts +29 -0
- package/src/aptos/run-codegen.ts +13 -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 +881 -0
- package/src/aptos/tests/types/soffl3.ts +1820 -0
- package/src/aptos/tests/types/souffle.ts +880 -0
- package/src/aptos/types.ts +149 -0
- package/src/aptos/utils.ts +26 -0
- package/src/{utils/chain.ts → chain.ts} +0 -0
- package/src/core/context.ts +1 -1
- package/src/core/sui-plugin.ts +1 -1
- package/src/index.ts +1 -1
- 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/tsconfig.json +8 -0
- package/src/solana/index.ts +4 -0
- package/src/solana/run-codegen.ts +13 -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/utils/index.ts +0 -1
- package/lib/utils/chain.js.map +0 -1
package/lib/chain.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"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","sourcesContent":["// copy from https://github.com/DefiLlama/chainlist/blob/main/constants/chainIds.js\n// and https://besu.hyperledger.org/en/stable/Concepts/NetworkID-And-ChainID/\n\nexport const CHAIN_IDS = {\n KARDIA: '0',\n ETHEREUM: '1',\n EXPANSE: '2',\n ROPSTEN: '3',\n RINKEBY: '4',\n GOERLI: '5',\n KOTTI: '6',\n UBIQ: '8',\n OPTIMISM: '10',\n SONGBIRD: '19',\n ELASTOS: '20',\n CRONOS: '25',\n RSK: '30',\n TELOS: '40',\n XDC: '50',\n CSC: '52',\n ZYX: '55',\n BINANCE: '56',\n SYSCOIN: '57',\n GOCHAIN: '60',\n ETHCLASSIC: '61',\n MORDOR: '63',\n OKEXCHAIN: '66',\n HOO: '70',\n METER: '82',\n TOMOCHAIN: '88',\n XDAI: '100',\n VELAS: '106',\n THUNDERCORE: '108',\n FUSE: '122',\n HECO: '128',\n POLYGON: '137',\n XDAIARB: '200',\n ASTOR: '212',\n ENERGYWEB: '246',\n FANTOM: '250',\n HPB: '269',\n BOBA: '288',\n KUCOIN: '321',\n SHIDEN: '336',\n THETA: '361',\n SX: '416',\n CANDLE: '534',\n ASTAR: '592',\n CALLISTO: '820',\n WANCHAIN: '888',\n METIS: '1088',\n OMCHAIN: '1246',\n MOONBEAM: '1284',\n MOONRIVER: '1285',\n MOONBASE: '1287',\n DEV: '2018',\n RONIN: '2020',\n KAVA: '2222',\n EZCHAIN: '2612',\n PHI: '4181',\n IOTEX: '4689',\n XLC: '5050',\n NAHMII: '5551',\n NMACTEST: '7777',\n KLAYTN: '8217',\n EVMOS: '9001',\n SMARTBCH: '10000',\n CRYSTALEUM: '103090',\n FUSION: '32659',\n ARBITRUM: '42161',\n CELO: '42220',\n OASIS: '42262',\n AVALANCHE: '43114',\n GODWOKEN: '71402',\n AKROMA: '200625',\n POLIS: '333999',\n ARBITRUM_TEST: '421613',\n SEPOLIA: '11155111',\n AURORA: '1313161554',\n HARMONY: '1666600000',\n PALM: '11297108109',\n CURIO: '836542336838601',\n SOLANA_MAINNET: 'sol_mainnet',\n SOLANA_DEVNET: 'sol_devnet',\n SOLANA_TESTNET: 'sol_testnet',\n SOLANA_PYTH: 'sol_pyth',\n SUI_DEVNET: 'sui_devnet',\n APTOS_MAINNET: 'aptos_mainnet',\n APTOS_TESTNET: 'aptos_testnet',\n}\n\nexport const CHAIN_MAP: Record<string, string> = {}\n\nfor (const [key, value] of Object.entries(CHAIN_IDS)) {\n const parts = key.split('_')\n CHAIN_MAP[value] = parts\n .map((part, index) => {\n return part[0] + part.slice(1).toLowerCase()\n })\n .join(' ')\n}\n\nexport function getChainName(chainId: string | number | null | undefined): string {\n if (typeof chainId === 'number') {\n chainId = chainId.toString()\n }\n if (chainId) {\n const name = CHAIN_MAP[chainId]\n if (name) {\n return name\n }\n }\n return chainId || ''\n}\n\nexport function getChainType(chainId?: string | number): string {\n const id = String(chainId).toLowerCase()\n if (id.startsWith('sol')) {\n return 'solana'\n }\n if (id.startsWith('sui')) {\n return 'sui'\n }\n if (id.startsWith('apt')) {\n return 'aptos'\n }\n return 'EVM'\n}\n"]}
|
package/lib/core/context.js
CHANGED
package/lib/core/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAKA,OAAO,EAAU,eAAe,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseContract, Transaction, TransactionReceipt, Block } from 'ethers'\nimport { LogParams } from 'ethers/providers'\n\nimport { RecordMetaData } from '@sentio/protos'\nimport { Trace } from '../eth/trace.js'\nimport { Labels, normalizeLabels } from './metadata.js'\nimport { CHAIN_IDS } from '../chain.js'\nimport { BaseContext } from './base-context.js'\n\nexport abstract class EthContext extends BaseContext {\n chainId: number\n address: string\n private readonly log?: LogParams\n block?: Block\n private readonly trace?: Trace\n blockNumber: bigint | number\n transactionHash?: string\n transaction?: Transaction\n transactionReceipt?: TransactionReceipt\n timestamp: Date\n\n constructor(\n chainId: number,\n address: string,\n timestamp?: Date,\n block?: Block,\n log?: LogParams,\n trace?: Trace,\n transaction?: Transaction,\n transactionReceipt?: TransactionReceipt\n ) {\n super()\n this.chainId = chainId\n this.log = log\n this.block = block\n this.trace = trace\n this.address = address\n this.transaction = transaction\n this.transactionReceipt = transactionReceipt\n this.timestamp = timestamp || new Date(0)\n if (log) {\n this.blockNumber = log.blockNumber\n this.transactionHash = log.transactionHash\n } else if (block) {\n this.blockNumber = block.number\n } else if (trace) {\n this.blockNumber = trace.blockNumber\n this.transactionHash = trace.transactionHash\n }\n }\n\n protected abstract getContractName(): string\n\n getMetaData(name: string, labels: Labels): RecordMetaData {\n if (this.log) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: this.log.transactionIndex,\n transactionHash: this.transactionHash || '',\n logIndex: this.log.index,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n if (this.block) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: -1,\n transactionHash: '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n if (this.trace) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: this.trace.transactionPosition,\n transactionHash: this.transactionHash || '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n throw new Error(\"Invaid ctx argument can't happen\")\n }\n}\n\nexport class AccountContext extends EthContext {\n // constructor(chainId: number, address: string, block?: Block, log?: Log, trace?: Trace) {\n // super(chainId, address, new Date(0), block, log, trace)\n // }\n protected getContractName(): string {\n return 'account'\n }\n}\n\nexport class ContractContext<\n TContract extends BaseContract,\n TContractBoundView extends BoundContractView<TContract, ContractView<TContract>>\n> extends EthContext {\n contract: TContractBoundView\n contractName: string\n\n constructor(\n contractName: string,\n view: TContractBoundView,\n chainId: number,\n timestamp?: Date,\n block?: Block,\n log?: LogParams,\n trace?: Trace,\n transaction?: Transaction,\n transactionReceipt?: TransactionReceipt\n ) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const address = view.rawContract.getAddress() as string\n super(chainId, address, timestamp, block, log, trace, transaction, transactionReceipt)\n view.context = this\n this.contractName = contractName\n this.contract = view\n }\n\n protected getContractName(): string {\n return this.contractName\n }\n}\n\nexport class ContractView<TContract extends BaseContract> {\n protected contract: TContract\n\n constructor(contract: TContract) {\n this.contract = contract\n }\n\n get rawContract() {\n return this.contract\n }\n\n get provider() {\n return this.contract.runner?.provider\n }\n}\n\nexport class BoundContractView<TContract extends BaseContract, TContractView extends ContractView<TContract>> {\n protected view: TContractView\n // context will be set right after context creation (in context's constructor)\n context: ContractContext<TContract, BoundContractView<TContract, TContractView>>\n\n constructor(view: TContractView) {\n this.view = view\n }\n\n get rawContract() {\n return this.view.rawContract\n }\n\n get provider() {\n return this.view.provider\n }\n\n get filters() {\n return this.view.rawContract.filters\n }\n}\n\nexport class SuiContext extends BaseContext {\n address: string\n moduleName: string\n blockNumber: bigint\n\n constructor(address: string, slot: bigint) {\n super()\n this.address = address\n this.blockNumber = slot\n }\n\n getMetaData(name: string, labels: Labels): RecordMetaData {\n return {\n address: this.address,\n contractName: this.moduleName,\n blockNumber: this.blockNumber,\n transactionIndex: 0,\n transactionHash: '', // TODO\n logIndex: 0,\n chainId: CHAIN_IDS.SUI_DEVNET, // TODO set in context\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n}\n"]}
|
package/lib/core/sui-plugin.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime';
|
|
2
2
|
import { HandlerType } from '@sentio/protos';
|
|
3
3
|
import { ServerError, Status } from 'nice-grpc';
|
|
4
|
-
import { CHAIN_IDS } from '../
|
|
4
|
+
import { CHAIN_IDS } from '../chain.js';
|
|
5
5
|
import { SuiProcessorState } from './sui-processor.js';
|
|
6
6
|
export class SuiPlugin extends Plugin {
|
|
7
7
|
name = 'SuiPlugin';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sui-plugin.js","sourceRoot":"","sources":["../../src/core/sui-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAA+B,WAAW,EAAwC,MAAM,gBAAgB,CAAA;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sui-plugin.js","sourceRoot":"","sources":["../../src/core/sui-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAA+B,WAAW,EAAwC,MAAM,gBAAgB,CAAA;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC,IAAI,GAAW,WAAW,CAAA;IAE1B,KAAK,CAAC,SAAS,CAAC,MAA6B;QAC3C,KAAK,MAAM,YAAY,IAAI,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;YACjE,MAAM,cAAc,GAAmB;gBACrC,iBAAiB,EAAE,EAAE;gBACrB,aAAa,EAAE,cAAc;gBAC7B,QAAQ,EAAE;oBACR,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,SAAS,CAAC,UAAU;oBAC7B,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,GAAG,EAAE,EAAE;iBACR;gBACD,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,EAAE;gBACnB,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc;gBAC9C,QAAQ,EAAE,EAAE;gBACZ,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,EAAE;gBACrB,gBAAgB,EAAE,EAAE;aACrB,CAAA;YACD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;SAC5C;IACH,CAAC;IAED,iBAAiB,GAAG,EAAE,CAAA;IAEtB,cAAc,CAAC,OAAoB;QACjC,QAAQ,OAAO,CAAC,WAAW,EAAE;YAC3B,KAAK,WAAW,CAAC,eAAe,CAAC;YACjC,6CAA6C;YAC7C;gBACE,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;SACrG;IACH,CAAC;CACF;AAED,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,CAAA","sourcesContent":["import { Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime'\nimport { ContractConfig, DataBinding, HandlerType, ProcessConfigResponse, ProcessResult } from '@sentio/protos'\n\nimport { ServerError, Status } from 'nice-grpc'\n\nimport { CHAIN_IDS } from '../chain.js'\nimport { SuiProcessorState } from './sui-processor.js'\n\nexport class SuiPlugin extends Plugin {\n name: string = 'SuiPlugin'\n\n async configure(config: ProcessConfigResponse) {\n for (const suiProcessor of SuiProcessorState.INSTANCE.getValues()) {\n const contractConfig: ContractConfig = {\n transactionConfig: [],\n processorType: USER_PROCESSOR,\n contract: {\n name: 'sui contract',\n chainId: CHAIN_IDS.SUI_DEVNET,\n address: suiProcessor.address,\n abi: '',\n },\n logConfigs: [],\n intervalConfigs: [],\n traceConfigs: [],\n startBlock: suiProcessor.config.startSeqNumber,\n endBlock: 0n,\n instructionConfig: undefined,\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n }\n config.contractConfigs.push(contractConfig)\n }\n }\n\n supportedHandlers = []\n\n processBinding(request: DataBinding): Promise<ProcessResult> {\n switch (request.handlerType) {\n case HandlerType.SUI_TRANSACTION:\n // return this.processSolInstruction(request)\n default:\n throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType)\n }\n }\n}\n\nPluginManager.INSTANCE.register(new SuiPlugin())\n"]}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -3,6 +3,6 @@ export { transformEtherError, SimpleEthersError } from './error.js';
|
|
|
3
3
|
export * from '@sentio/protos';
|
|
4
4
|
export * from './core/index.js';
|
|
5
5
|
export * from './eth/index.js';
|
|
6
|
-
export * from './
|
|
6
|
+
export * from './chain.js';
|
|
7
7
|
// export * from './api'
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnE,yBAAyB;AACzB,cAAc,gBAAgB,CAAA;AAE9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnE,yBAAyB;AACzB,cAAc,gBAAgB,CAAA;AAE9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,YAAY,CAAA;AAC1B,yBAAyB","sourcesContent":["export { transformEtherError, SimpleEthersError } from './error.js'\n\n// TODO maybe remove this\nexport * from '@sentio/protos'\n\nexport * from './core/index.js'\nexport * from './eth/index.js'\n\nexport * from './chain.js'\n// export * from './api'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './spl-token-processor.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/solana/builtin/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA","sourcesContent":["export * from './spl-token-processor.js'"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { SolanaBaseProcessor, SolanaContext, SolanaBindOptions } from '@sentio/sdk/solana';
|
|
2
|
+
import { Instruction } from '@project-serum/anchor';
|
|
3
|
+
import { AmountToUiAmount, Approve, ApproveChecked, Burn, BurnChecked, CloseAccount, CreateNativeMint, DefaultAccountStateExtension, FreezeAccount, GetAccountDataSize, InitializeAccount, InitializeAccount2, InitializeAccount3, InitializeImmutableOwner, InitializeMint, InitializeMintCloseAuthority, InitializeMultisig, MemoTransferExtension, MintTo, MintToChecked, Reallocate, Revoke, SyncNative, ThawAccount, Transfer, TransferChecked, TransferFeeExtension, UiAmountToAmount } from './types.js';
|
|
4
|
+
export declare class SPLTokenProcessor extends SolanaBaseProcessor {
|
|
5
|
+
static bind(options: SolanaBindOptions): SPLTokenProcessor;
|
|
6
|
+
fromParsedInstruction: (instruction: {
|
|
7
|
+
type: string;
|
|
8
|
+
info: any;
|
|
9
|
+
}) => Instruction | null;
|
|
10
|
+
onInitializeMint(handler: (data: InitializeMint, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
11
|
+
onInitializeAccount(hanlder: (data: InitializeAccount, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
12
|
+
onInitializeAccount2(hanlder: (data: InitializeAccount2, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
13
|
+
onInitializeAccount3(hanlder: (data: InitializeAccount3, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
14
|
+
onInitializeMultisig(handler: (data: InitializeMultisig, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
15
|
+
onTransfer(handler: (data: Transfer, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
16
|
+
onApprovend(handler: (data: Approve, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
17
|
+
onRevoke(handler: (data: Revoke, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
18
|
+
onSetAuthority(handler: (data: any, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
19
|
+
onMintTo(handler: (data: MintTo, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
20
|
+
onBurn(handler: (data: Burn, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
21
|
+
onCloseAccount(handler: (data: CloseAccount, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
22
|
+
onFreezeAccount(handler: (data: FreezeAccount, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
23
|
+
onThawAccount(handler: (data: ThawAccount, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
24
|
+
onTransferChecked(handler: (data: TransferChecked, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
25
|
+
onApproveChecked(handler: (data: ApproveChecked, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
26
|
+
onMintToChecked(handler: (data: MintToChecked, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
27
|
+
onBurnChecked(handler: (data: BurnChecked, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
28
|
+
onSyncNative(handler: (data: SyncNative, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
29
|
+
onGetAccountDataSize(handler: (data: GetAccountDataSize, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
30
|
+
onInitializeImmutableOwner(handler: (data: InitializeImmutableOwner, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
31
|
+
onAmountToUiAmount(handler: (data: AmountToUiAmount, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
32
|
+
onUiAmountToAmount(handler: (data: UiAmountToAmount, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
33
|
+
onInitializeMintCloseAuthority(handler: (data: InitializeMintCloseAuthority, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
34
|
+
onTransferFeeExtension(handler: (data: TransferFeeExtension, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
35
|
+
onDefaultAccountStateExtension(handler: (data: DefaultAccountStateExtension, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
36
|
+
onReallocate(handler: (data: Reallocate, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
37
|
+
onMemoTransferExtension(handler: (data: MemoTransferExtension, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
38
|
+
onCreateNativeMint(handler: (data: CreateNativeMint, ctx: SolanaContext) => void): SPLTokenProcessor;
|
|
39
|
+
}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { SolanaBaseProcessor } from '@sentio/sdk/solana';
|
|
2
|
+
export class SPLTokenProcessor extends SolanaBaseProcessor {
|
|
3
|
+
static bind(options) {
|
|
4
|
+
if (options && !options.name) {
|
|
5
|
+
options.name = 'SPL Token Program';
|
|
6
|
+
}
|
|
7
|
+
return new SPLTokenProcessor(options);
|
|
8
|
+
}
|
|
9
|
+
fromParsedInstruction = (instruction) => {
|
|
10
|
+
const instructionType = instruction.type;
|
|
11
|
+
if (!instructionType) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
name: instruction.type,
|
|
16
|
+
data: {
|
|
17
|
+
...instruction.info,
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
onInitializeMint(handler) {
|
|
22
|
+
this.onInstruction('initializeMint', (ins, ctx) => {
|
|
23
|
+
if (ins) {
|
|
24
|
+
handler(ins.data, ctx);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
onInitializeAccount(hanlder) {
|
|
30
|
+
this.onInstruction('initializeAccount', (ins, ctx) => {
|
|
31
|
+
if (ins) {
|
|
32
|
+
hanlder(ins.data, ctx);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
onInitializeAccount2(hanlder) {
|
|
38
|
+
this.onInstruction('initializeAccount2', (ins, ctx) => {
|
|
39
|
+
if (ins) {
|
|
40
|
+
hanlder(ins.data, ctx);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
onInitializeAccount3(hanlder) {
|
|
46
|
+
this.onInstruction('initializeAccount3', (ins, ctx) => {
|
|
47
|
+
if (ins) {
|
|
48
|
+
hanlder(ins.data, ctx);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
onInitializeMultisig(handler) {
|
|
54
|
+
this.onInstruction('initializeMultisig', (ins, ctx) => {
|
|
55
|
+
if (ins) {
|
|
56
|
+
handler(ins.data, ctx);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
onTransfer(handler) {
|
|
62
|
+
this.onInstruction('transfer', (ins, ctx) => {
|
|
63
|
+
if (ins) {
|
|
64
|
+
handler(ins.data, ctx);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
onApprovend(handler) {
|
|
70
|
+
this.onInstruction('approve', (ins, ctx) => {
|
|
71
|
+
if (ins) {
|
|
72
|
+
handler(ins.data, ctx);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
onRevoke(handler) {
|
|
78
|
+
this.onInstruction('revoke', (ins, ctx) => {
|
|
79
|
+
if (ins) {
|
|
80
|
+
handler(ins.data, ctx);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
onSetAuthority(handler) {
|
|
86
|
+
this.onInstruction('setAuthority', (ins, ctx) => {
|
|
87
|
+
if (ins) {
|
|
88
|
+
handler(ins.data, ctx);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
onMintTo(handler) {
|
|
94
|
+
this.onInstruction('mintTo', (ins, ctx) => {
|
|
95
|
+
if (ins) {
|
|
96
|
+
handler(ins.data, ctx);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
onBurn(handler) {
|
|
102
|
+
this.onInstruction('burn', (ins, ctx) => {
|
|
103
|
+
if (ins) {
|
|
104
|
+
handler(ins.data, ctx);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
onCloseAccount(handler) {
|
|
110
|
+
this.onInstruction('closeAccount', (ins, ctx) => {
|
|
111
|
+
if (ins) {
|
|
112
|
+
handler(ins.data, ctx);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
return this;
|
|
116
|
+
}
|
|
117
|
+
onFreezeAccount(handler) {
|
|
118
|
+
this.onInstruction('freezeAccount', (ins, ctx) => {
|
|
119
|
+
if (ins) {
|
|
120
|
+
handler(ins.data, ctx);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
return this;
|
|
124
|
+
}
|
|
125
|
+
onThawAccount(handler) {
|
|
126
|
+
this.onInstruction('thawAccount', (ins, ctx) => {
|
|
127
|
+
if (ins) {
|
|
128
|
+
handler(ins.data, ctx);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
return this;
|
|
132
|
+
}
|
|
133
|
+
onTransferChecked(handler) {
|
|
134
|
+
this.onInstruction('transferChecked', (ins, ctx) => {
|
|
135
|
+
if (ins) {
|
|
136
|
+
handler(ins.data, ctx);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
onApproveChecked(handler) {
|
|
142
|
+
this.onInstruction('approveChecked', (ins, ctx) => {
|
|
143
|
+
if (ins) {
|
|
144
|
+
handler(ins.data, ctx);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
return this;
|
|
148
|
+
}
|
|
149
|
+
onMintToChecked(handler) {
|
|
150
|
+
this.onInstruction('mintToChecked', (ins, ctx) => {
|
|
151
|
+
if (ins) {
|
|
152
|
+
handler(ins.data, ctx);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
return this;
|
|
156
|
+
}
|
|
157
|
+
onBurnChecked(handler) {
|
|
158
|
+
this.onInstruction('burnChecked', (ins, ctx) => {
|
|
159
|
+
if (ins) {
|
|
160
|
+
handler(ins.data, ctx);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
return this;
|
|
164
|
+
}
|
|
165
|
+
onSyncNative(handler) {
|
|
166
|
+
this.onInstruction('syncNative', (ins, ctx) => {
|
|
167
|
+
if (ins) {
|
|
168
|
+
handler(ins.data, ctx);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
return this;
|
|
172
|
+
}
|
|
173
|
+
onGetAccountDataSize(handler) {
|
|
174
|
+
this.onInstruction('getAccountDataSize', (ins, ctx) => {
|
|
175
|
+
if (ins) {
|
|
176
|
+
handler(ins.data, ctx);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
return this;
|
|
180
|
+
}
|
|
181
|
+
onInitializeImmutableOwner(handler) {
|
|
182
|
+
this.onInstruction('initializeImmutableOwner', (ins, ctx) => {
|
|
183
|
+
if (ins) {
|
|
184
|
+
handler(ins.data, ctx);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
return this;
|
|
188
|
+
}
|
|
189
|
+
onAmountToUiAmount(handler) {
|
|
190
|
+
this.onInstruction('amountToUiAmount', (ins, ctx) => {
|
|
191
|
+
if (ins) {
|
|
192
|
+
handler(ins.data, ctx);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
return this;
|
|
196
|
+
}
|
|
197
|
+
onUiAmountToAmount(handler) {
|
|
198
|
+
this.onInstruction('uiAmountToAmount', (ins, ctx) => {
|
|
199
|
+
if (ins) {
|
|
200
|
+
handler(ins.data, ctx);
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
return this;
|
|
204
|
+
}
|
|
205
|
+
onInitializeMintCloseAuthority(handler) {
|
|
206
|
+
this.onInstruction('initializeMintCloseAuthority', (ins, ctx) => {
|
|
207
|
+
if (ins) {
|
|
208
|
+
handler(ins.data, ctx);
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
return this;
|
|
212
|
+
}
|
|
213
|
+
onTransferFeeExtension(handler) {
|
|
214
|
+
this.onInstruction('transferFeeExtension', (ins, ctx) => {
|
|
215
|
+
if (ins) {
|
|
216
|
+
handler(ins.data, ctx);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
return this;
|
|
220
|
+
}
|
|
221
|
+
onDefaultAccountStateExtension(handler) {
|
|
222
|
+
this.onInstruction('defaultAccountStateExtension', (ins, ctx) => {
|
|
223
|
+
if (ins) {
|
|
224
|
+
handler(ins.data, ctx);
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
return this;
|
|
228
|
+
}
|
|
229
|
+
onReallocate(handler) {
|
|
230
|
+
this.onInstruction('reallocate', (ins, ctx) => {
|
|
231
|
+
if (ins) {
|
|
232
|
+
handler(ins.data, ctx);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
return this;
|
|
236
|
+
}
|
|
237
|
+
onMemoTransferExtension(handler) {
|
|
238
|
+
this.onInstruction('memoTransferExtension', (ins, ctx) => {
|
|
239
|
+
if (ins) {
|
|
240
|
+
handler(ins.data, ctx);
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
return this;
|
|
244
|
+
}
|
|
245
|
+
onCreateNativeMint(handler) {
|
|
246
|
+
this.onInstruction('createNativeMint', (ins, ctx) => {
|
|
247
|
+
if (ins) {
|
|
248
|
+
handler(ins.data, ctx);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
return this;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=spl-token-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spl-token-processor.js","sourceRoot":"","sources":["../../../src/solana/builtin/spl-token-processor.ts"],"names":[],"mappings":"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","sourcesContent":["import { SolanaBaseProcessor, SolanaContext, SolanaBindOptions } from '@sentio/sdk/solana'\nimport { Instruction } from '@project-serum/anchor'\nimport { AmountToUiAmount, Approve, ApproveChecked, Burn, BurnChecked, CloseAccount, CreateNativeMint, DefaultAccountStateExtension, FreezeAccount, GetAccountDataSize, InitializeAccount, InitializeAccount2, InitializeAccount3, InitializeImmutableOwner, InitializeMint, InitializeMintCloseAuthority, InitializeMultisig, MemoTransferExtension, MintTo, MintToChecked, Reallocate, Revoke, SyncNative, ThawAccount, Transfer, TransferChecked, TransferFeeExtension, UiAmountToAmount } from './types.js';\n\nexport class SPLTokenProcessor extends SolanaBaseProcessor {\n static bind(options: SolanaBindOptions): SPLTokenProcessor {\n if (options && !options.name) {\n options.name = 'SPL Token Program'\n }\n return new SPLTokenProcessor(options)\n }\n\n fromParsedInstruction: (instruction: { type: string, info: any }) => Instruction | null = (instruction: { type: string, info: any }) => {\n const instructionType = instruction.type\n if (!instructionType) {\n return null\n }\n return {\n name: instruction.type,\n data: {\n ...instruction.info,\n },\n }\n }\n\n public onInitializeMint(\n handler: (data: InitializeMint, ctx: SolanaContext) => void\n ): SPLTokenProcessor {\n this.onInstruction('initializeMint', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as InitializeMint, ctx)\n }\n })\n return this\n }\n\n public onInitializeAccount(\n hanlder: (data: InitializeAccount, ctx: SolanaContext) => void\n ): SPLTokenProcessor {\n this.onInstruction('initializeAccount', (ins: Instruction, ctx) => {\n if (ins) {\n hanlder(ins.data as InitializeAccount, ctx)\n }\n })\n return this\n }\n\n public onInitializeAccount2(\n hanlder: (data: InitializeAccount2, ctx: SolanaContext) => void\n ): SPLTokenProcessor {\n this.onInstruction('initializeAccount2', (ins: Instruction, ctx) => {\n if (ins) {\n hanlder(ins.data as InitializeAccount2, ctx)\n }\n })\n return this\n }\n\n public onInitializeAccount3(\n hanlder: (data: InitializeAccount3, ctx: SolanaContext) => void\n ): SPLTokenProcessor {\n this.onInstruction('initializeAccount3', (ins: Instruction, ctx) => {\n if (ins) {\n hanlder(ins.data as InitializeAccount3, ctx)\n }\n })\n return this\n }\n\n public onInitializeMultisig(\n handler: (data: InitializeMultisig, ctx: SolanaContext) => void\n ): SPLTokenProcessor {\n this.onInstruction('initializeMultisig', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as InitializeMultisig, ctx)\n }\n })\n return this\n }\n\n public onTransfer(handler: (data: Transfer, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('transfer', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as Transfer, ctx)\n }\n })\n return this\n }\n\n public onApprovend(handler: (data: Approve, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('approve', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as Approve, ctx)\n }\n })\n return this\n }\n\n public onRevoke(handler: (data: Revoke, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('revoke', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as Revoke, ctx)\n }\n })\n return this\n }\n\n public onSetAuthority(handler: (data: any, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('setAuthority', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as any, ctx)\n }\n })\n return this\n }\n\n public onMintTo(handler: (data: MintTo, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('mintTo', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as MintTo, ctx)\n }\n })\n return this\n }\n\n public onBurn(handler: (data: Burn, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('burn', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as Burn, ctx)\n }\n })\n return this\n }\n\n public onCloseAccount(handler: (data: CloseAccount, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('closeAccount', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as CloseAccount, ctx)\n }\n })\n return this\n }\n\n public onFreezeAccount(handler: (data: FreezeAccount, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('freezeAccount', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as FreezeAccount, ctx)\n }\n })\n return this\n }\n\n public onThawAccount(handler: (data: ThawAccount, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('thawAccount', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as ThawAccount, ctx)\n }\n })\n return this\n }\n\n public onTransferChecked(handler: (data: TransferChecked, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('transferChecked', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as TransferChecked, ctx)\n }\n })\n return this\n }\n\n public onApproveChecked(handler: (data: ApproveChecked, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('approveChecked', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as ApproveChecked, ctx)\n }\n })\n return this\n }\n\n public onMintToChecked(handler: (data: MintToChecked, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('mintToChecked', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as MintToChecked, ctx)\n }\n })\n return this\n }\n\n public onBurnChecked(handler: (data: BurnChecked, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('burnChecked', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as BurnChecked, ctx)\n }\n })\n return this\n }\n\n public onSyncNative(handler: (data: SyncNative, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('syncNative', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as SyncNative, ctx)\n }\n })\n return this\n }\n\n public onGetAccountDataSize(handler: (data: GetAccountDataSize, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('getAccountDataSize', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as GetAccountDataSize, ctx)\n }\n })\n return this\n }\n\n public onInitializeImmutableOwner(handler: (data: InitializeImmutableOwner, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('initializeImmutableOwner', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as InitializeImmutableOwner, ctx)\n }\n })\n return this\n }\n\n public onAmountToUiAmount(handler: (data: AmountToUiAmount, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('amountToUiAmount', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as AmountToUiAmount, ctx)\n }\n })\n return this\n }\n\n public onUiAmountToAmount(handler: (data: UiAmountToAmount, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('uiAmountToAmount', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as UiAmountToAmount, ctx)\n }\n })\n return this\n }\n\n public onInitializeMintCloseAuthority(handler: (data: InitializeMintCloseAuthority, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('initializeMintCloseAuthority', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as InitializeMintCloseAuthority, ctx)\n }\n })\n return this\n }\n\n public onTransferFeeExtension(handler: (data: TransferFeeExtension, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('transferFeeExtension', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as TransferFeeExtension, ctx)\n }\n })\n return this\n }\n\n public onDefaultAccountStateExtension(handler: (data: DefaultAccountStateExtension, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('defaultAccountStateExtension', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as DefaultAccountStateExtension, ctx)\n }\n })\n return this\n }\n\n public onReallocate(handler: (data: Reallocate, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('reallocate', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as Reallocate, ctx)\n }\n })\n return this\n }\n\n public onMemoTransferExtension(handler: (data: MemoTransferExtension, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('memoTransferExtension', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as MemoTransferExtension, ctx)\n }\n })\n return this\n }\n\n public onCreateNativeMint(handler: (data: CreateNativeMint, ctx: SolanaContext) => void): SPLTokenProcessor {\n this.onInstruction('createNativeMint', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as CreateNativeMint, ctx)\n }\n })\n return this\n }\n\n // Todo(pcxu): auto gen this file\n}\n"]}
|