@sentio/sdk 2.11.0-rc.5 → 2.11.0-rc.7

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.
Files changed (62) hide show
  1. package/lib/aptos/aptos-processor.js +4 -2
  2. package/lib/aptos/aptos-processor.js.map +1 -1
  3. package/lib/aptos/builtin/0x1.js +38 -19
  4. package/lib/aptos/builtin/0x1.js.map +1 -1
  5. package/lib/aptos/builtin/0x3.js +8 -4
  6. package/lib/aptos/builtin/0x3.js.map +1 -1
  7. package/lib/aptos/ext/coin-event.d.ts +3 -1
  8. package/lib/aptos/ext/coin-event.js +21 -0
  9. package/lib/aptos/ext/coin-event.js.map +1 -1
  10. package/lib/aptos/ext/coin-event.test.js.map +1 -1
  11. package/lib/aptos/ext/index.d.ts +1 -1
  12. package/lib/aptos/ext/index.js +1 -1
  13. package/lib/aptos/ext/index.js.map +1 -1
  14. package/lib/core/event-tracker.js +6 -3
  15. package/lib/core/event-tracker.js.map +1 -1
  16. package/lib/core/exporter.js +2 -1
  17. package/lib/core/exporter.js.map +1 -1
  18. package/lib/core/meter.js +2 -1
  19. package/lib/core/meter.js.map +1 -1
  20. package/lib/eth/account-processor-state.js +2 -1
  21. package/lib/eth/account-processor-state.js.map +1 -1
  22. package/lib/eth/base-processor-template.js +4 -2
  23. package/lib/eth/base-processor-template.js.map +1 -1
  24. package/lib/eth/binds.js +2 -1
  25. package/lib/eth/binds.js.map +1 -1
  26. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +2 -1
  27. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
  28. package/lib/eth/builtin/internal/erc1155-processor.js +2 -1
  29. package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
  30. package/lib/eth/builtin/internal/erc20-processor.js +2 -1
  31. package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
  32. package/lib/eth/builtin/internal/erc20bytes-processor.js +2 -1
  33. package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
  34. package/lib/eth/builtin/internal/erc721-processor.js +2 -1
  35. package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
  36. package/lib/eth/builtin/internal/factories/EACAggregatorProxy__factory.js +2 -1
  37. package/lib/eth/builtin/internal/factories/EACAggregatorProxy__factory.js.map +1 -1
  38. package/lib/eth/builtin/internal/factories/ERC1155__factory.js +2 -1
  39. package/lib/eth/builtin/internal/factories/ERC1155__factory.js.map +1 -1
  40. package/lib/eth/builtin/internal/factories/ERC20Bytes__factory.js +2 -1
  41. package/lib/eth/builtin/internal/factories/ERC20Bytes__factory.js.map +1 -1
  42. package/lib/eth/builtin/internal/factories/ERC20__factory.js +2 -1
  43. package/lib/eth/builtin/internal/factories/ERC20__factory.js.map +1 -1
  44. package/lib/eth/builtin/internal/factories/ERC721__factory.js +2 -1
  45. package/lib/eth/builtin/internal/factories/ERC721__factory.js.map +1 -1
  46. package/lib/eth/builtin/internal/factories/WETH9__factory.js +2 -1
  47. package/lib/eth/builtin/internal/factories/WETH9__factory.js.map +1 -1
  48. package/lib/eth/builtin/internal/weth9-processor.js +2 -1
  49. package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
  50. package/lib/solana/solana-processor.js +2 -1
  51. package/lib/solana/solana-processor.js.map +1 -1
  52. package/lib/sui/builtin/0x1.js +10 -5
  53. package/lib/sui/builtin/0x1.js.map +1 -1
  54. package/lib/sui/builtin/0x2.js +26 -13
  55. package/lib/sui/builtin/0x2.js.map +1 -1
  56. package/lib/sui/builtin/0x3.js +12 -6
  57. package/lib/sui/builtin/0x3.js.map +1 -1
  58. package/lib/sui/sui-processor.js +4 -2
  59. package/lib/sui/sui-processor.js.map +1 -1
  60. package/package.json +7 -7
  61. package/src/aptos/ext/coin-event.ts +28 -1
  62. package/src/aptos/ext/index.ts +1 -1
@@ -1,3 +1,5 @@
1
- import { Event, Transaction_UserTransaction } from '../move-types.js';
1
+ import { Event, Transaction_UserTransaction } from '@sentio/sdk/aptos';
2
+ import { coin } from '../builtin/0x1.js';
3
+ export declare function findNewCoinBalances(evt: Event, tx: Transaction_UserTransaction, coin: string): coin.Coin<any> | undefined;
2
4
  export declare function getDepositCoinType(evt: Event, tx: Transaction_UserTransaction): string;
3
5
  export declare function getWithDrawCoinType(evt: Event, tx: Transaction_UserTransaction): string;
@@ -1,4 +1,25 @@
1
1
  import { parseMoveType } from '../../move/index.js';
2
+ export function findNewCoinBalances(evt, tx, coin) {
3
+ if (!tx.changes) {
4
+ throw Error('No resource change found, did you forget set fetchOption to { resourceChanges: true } ');
5
+ }
6
+ for (const change of tx.changes) {
7
+ if (change.type !== 'write_resource') {
8
+ continue;
9
+ }
10
+ const writeResource = change;
11
+ if (writeResource.address !== evt.guid.account_address) {
12
+ continue;
13
+ }
14
+ if (writeResource.data.type !== `0x1::coin::CoinStore<${coin}>`) {
15
+ continue;
16
+ }
17
+ return {
18
+ value: BigInt(writeResource.data.data.coin.value),
19
+ };
20
+ }
21
+ return undefined;
22
+ }
2
23
  // TODO event handler name could be auto located from ABI
3
24
  function findResourceChangeType(evt, tx, eventHandlerName) {
4
25
  if (!tx.changes) {
@@ -1 +1 @@
1
- {"version":3,"file":"coin-event.js","sourceRoot":"","sources":["../../../src/aptos/ext/coin-event.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAYnD,yDAAyD;AACzD,SAAS,sBAAsB,CAAC,GAAU,EAAE,EAA+B,EAAE,gBAAwB;IACnG,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;QACf,MAAM,KAAK,CAAC,yFAAyF,CAAC,CAAA;KACvG;IAED,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE;QAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACpC,SAAQ;SACT;QAED,MAAM,aAAa,GAAG,MAA4C,CAAA;QAClE,IAAI,aAAa,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;YACtD,SAAQ;SACT;QAED,MAAM,KAAK,GAAuB,aAAa,CAAC,IAAI,CAAC,IAAY,CAAC,gBAAgB,CAAC,CAAA;QAEnF,IACE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE;YAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe;YAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,EACvD;YACA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAA;SAC/B;KACF;IAED,MAAM,MAAM,GAAG,4CAA4C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IACjF,EAAE,CAAC,OACL,IAAI,gBAAgB,EAAE,CAAA;IACtB,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAU,EAAE,EAA+B;IAC5E,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAA;IACnE,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAU,EAAE,EAA+B;IAC7E,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;IACpE,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;AAC5D,CAAC","sourcesContent":["import { Event, Transaction_UserTransaction } from '../move-types.js'\nimport { Types } from 'aptos-sdk'\nimport { parseMoveType } from '../../move/index.js'\n\ninterface EventHandlerState {\n counter: string\n guid: {\n id: {\n addr: string\n creation_num: string\n }\n }\n}\n\n// TODO event handler name could be auto located from ABI\nfunction findResourceChangeType(evt: Event, tx: Transaction_UserTransaction, eventHandlerName: string) {\n if (!tx.changes) {\n throw Error('No resource change found, did you forget set fetchOption to { resourceChanges: true } ')\n }\n\n for (const change of tx.changes) {\n if (change.type !== 'write_resource') {\n continue\n }\n\n const writeResource = change as Types.WriteSetChange_WriteResource\n if (writeResource.address !== evt.guid.account_address) {\n continue\n }\n\n const state: EventHandlerState = (writeResource.data.data as any)[eventHandlerName]\n\n if (\n BigInt(state.counter) === BigInt(evt.sequence_number) + 1n &&\n state.guid.id.addr === evt.guid.account_address &&\n state.guid.id.creation_num === evt.guid.creation_number\n ) {\n return writeResource.data.type\n }\n }\n\n const errStr = `Can't find matched resource change type: ${JSON.stringify(evt.data)} ${\n tx.version\n } ${eventHandlerName}`\n throw Error(errStr)\n}\n\nexport function getDepositCoinType(evt: Event, tx: Transaction_UserTransaction) {\n const coinStore = findResourceChangeType(evt, tx, 'deposit_events')\n return parseMoveType(coinStore).typeArgs[0].getSignature()\n}\n\nexport function getWithDrawCoinType(evt: Event, tx: Transaction_UserTransaction) {\n const coinStore = findResourceChangeType(evt, tx, 'withdraw_events')\n return parseMoveType(coinStore).typeArgs[0].getSignature()\n}\n"]}
1
+ {"version":3,"file":"coin-event.js","sourceRoot":"","sources":["../../../src/aptos/ext/coin-event.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,UAAU,mBAAmB,CACjC,GAAU,EACV,EAA+B,EAC/B,IAAY;IAEZ,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;QACf,MAAM,KAAK,CAAC,yFAAyF,CAAC,CAAA;KACvG;IACD,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE;QAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACpC,SAAQ;SACT;QACD,MAAM,aAAa,GAAG,MAA4C,CAAA;QAClE,IAAI,aAAa,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;YACtD,SAAQ;SACT;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,GAAG,EAAE;YAC/D,SAAQ;SACT;QACD,OAAO;YACL,KAAK,EAAE,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,IAAY,CAAC,IAAI,CAAC,KAAK,CAAC;SAC3D,CAAA;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAYD,yDAAyD;AACzD,SAAS,sBAAsB,CAAC,GAAU,EAAE,EAA+B,EAAE,gBAAwB;IACnG,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;QACf,MAAM,KAAK,CAAC,yFAAyF,CAAC,CAAA;KACvG;IAED,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE;QAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACpC,SAAQ;SACT;QAED,MAAM,aAAa,GAAG,MAA4C,CAAA;QAClE,IAAI,aAAa,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;YACtD,SAAQ;SACT;QAED,MAAM,KAAK,GAAuB,aAAa,CAAC,IAAI,CAAC,IAAY,CAAC,gBAAgB,CAAC,CAAA;QAEnF,IACE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE;YAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe;YAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,EACvD;YACA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAA;SAC/B;KACF;IAED,MAAM,MAAM,GAAG,4CAA4C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IACjF,EAAE,CAAC,OACL,IAAI,gBAAgB,EAAE,CAAA;IACtB,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAU,EAAE,EAA+B;IAC5E,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAA;IACnE,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAU,EAAE,EAA+B;IAC7E,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;IACpE,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;AAC5D,CAAC","sourcesContent":["import { Event, Transaction_UserTransaction } from '@sentio/sdk/aptos'\nimport { Types } from 'aptos-sdk'\nimport { coin } from '../builtin/0x1.js'\nimport { parseMoveType } from '../../move/index.js'\n\nexport function findNewCoinBalances(\n evt: Event,\n tx: Transaction_UserTransaction,\n coin: string\n): coin.Coin<any> | undefined {\n if (!tx.changes) {\n throw Error('No resource change found, did you forget set fetchOption to { resourceChanges: true } ')\n }\n for (const change of tx.changes) {\n if (change.type !== 'write_resource') {\n continue\n }\n const writeResource = change as Types.WriteSetChange_WriteResource\n if (writeResource.address !== evt.guid.account_address) {\n continue\n }\n if (writeResource.data.type !== `0x1::coin::CoinStore<${coin}>`) {\n continue\n }\n return {\n value: BigInt((writeResource.data.data as any).coin.value),\n }\n }\n return undefined\n}\n\ninterface EventHandlerState {\n counter: string\n guid: {\n id: {\n addr: string\n creation_num: string\n }\n }\n}\n\n// TODO event handler name could be auto located from ABI\nfunction findResourceChangeType(evt: Event, tx: Transaction_UserTransaction, eventHandlerName: string) {\n if (!tx.changes) {\n throw Error('No resource change found, did you forget set fetchOption to { resourceChanges: true } ')\n }\n\n for (const change of tx.changes) {\n if (change.type !== 'write_resource') {\n continue\n }\n\n const writeResource = change as Types.WriteSetChange_WriteResource\n if (writeResource.address !== evt.guid.account_address) {\n continue\n }\n\n const state: EventHandlerState = (writeResource.data.data as any)[eventHandlerName]\n\n if (\n BigInt(state.counter) === BigInt(evt.sequence_number) + 1n &&\n state.guid.id.addr === evt.guid.account_address &&\n state.guid.id.creation_num === evt.guid.creation_number\n ) {\n return writeResource.data.type\n }\n }\n\n const errStr = `Can't find matched resource change type: ${JSON.stringify(evt.data)} ${\n tx.version\n } ${eventHandlerName}`\n throw Error(errStr)\n}\n\nexport function getDepositCoinType(evt: Event, tx: Transaction_UserTransaction) {\n const coinStore = findResourceChangeType(evt, tx, 'deposit_events')\n return parseMoveType(coinStore).typeArgs[0].getSignature()\n}\n\nexport function getWithDrawCoinType(evt: Event, tx: Transaction_UserTransaction) {\n const coinStore = findResourceChangeType(evt, tx, 'withdraw_events')\n return parseMoveType(coinStore).typeArgs[0].getSignature()\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"coin-event.test.js","sourceRoot":"","sources":["../../../src/aptos/ext/coin-event.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { getDepositCoinType, getWithDrawCoinType } from './coin-event.js'\nimport { expect } from 'chai'\nimport { Transaction_UserTransaction } from '../move-types.js'\n\ndescribe('resource change ', () => {\n test('withdraw usdc', () => {\n const evt = tx.events[0]\n const type = getWithDrawCoinType(evt, tx)\n expect(type).eq('0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC')\n })\n\n test('deposit usdc', () => {\n const evt = tx.events[1]\n const type = getDepositCoinType(evt, tx)\n expect(type).eq('0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC')\n })\n\n test('deposit thl', () => {\n const evt = tx.events[4]\n const type = getDepositCoinType(evt, tx)\n expect(type).eq('0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL')\n })\n})\n\nconst tx: Transaction_UserTransaction = {\n version: '112145263',\n hash: '0xe8a9cc7e974ce2c0b737241f034e76dc03c6b6e2eea2deb3538ba9c5fa18c6c6',\n state_change_hash: '0xc8e8d9cebaf525d1a330cd68bfcff596e364f67df37ccb50a4ad2f5ce7855e36',\n event_root_hash: '0x419261b51b786ac315ada03ec34be32cf2187c4f5e8604fa71d6896b1a371108',\n gas_used: '10974',\n success: true,\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0x8d56f2a61ffe3df0565850cb2e8a7e4d94c2dc6a8401e51d55946932de25309f',\n changes: [\n {\n address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n state_key_hash: '0x06c0d616285a1917619b93784eeca7deeb42fcc4c3a3fceaa050afa372543182',\n data: {\n type: '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>',\n data: {\n coin: {\n value: '508465811',\n },\n deposit_events: {\n counter: '5',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '2',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '20',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '3',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n state_key_hash: '0x0bf2b538b396fedbd1aa90cabfdc29ba93c466b0c110b5ffb81305aa6e82ef16',\n data: {\n type: '0x1::coin::CoinStore<0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL>',\n data: {\n coin: {\n value: '5811069565',\n },\n deposit_events: {\n counter: '1',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '17',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '18',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n state_key_hash: '0x43f2dc6124f3c13a30d716c0359d50246ecaec8376c9928e87d1bc8895e6b51e',\n data: {\n type: '0x1::coin::CoinStore<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC>',\n data: {\n coin: {\n value: '103679210',\n },\n deposit_events: {\n counter: '2',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '15',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '1',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '16',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n state_key_hash: '0x909bb549fa3d06c40ef7dbbafe0d19838d4c8024f94c352e27aaeec2dcedf690',\n data: {\n type: '0x1::account::Account',\n data: {\n authentication_key: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n coin_register_events: {\n counter: '6',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '0',\n },\n },\n },\n guid_creation_num: '19',\n key_rotation_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '1',\n },\n },\n },\n rotation_capability_offer: {\n for: {\n vec: [],\n },\n },\n sequence_number: '24',\n signer_capability_offer: {\n for: {\n vec: [],\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n state_key_hash: '0x9b9cc662dd91ed7ca91208cc659642ffbe16e7bafafbc5e98062a85b867c876d',\n data: {\n type: '0x1::coin::CoinStore<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC>',\n data: {\n coin: {\n value: '42779473',\n },\n deposit_events: {\n counter: '181',\n guid: {\n id: {\n addr: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n creation_num: '8',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n creation_num: '9',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n state_key_hash: '0x7b6af779cb568ceab26c256848a7da4c1e32be96b445674bb23f4d895a137090',\n handle: '0x1ae3702f4b77f5422c21a1e821a3863a2bb05b13c6663ba3e5e325ad82973c0c',\n key: '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9',\n value:\n '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9ac4c20318e000000b81e85eb51b81e05000000000000000033333333333333b300000000000000002ec7f0639c5e030000000000d4fa950201000000000000005c8fc2f5285c8f020000000000000000f06527640000000070fd2d64000000000070c9b28b0000000060891c056003000000000000000000000000000000000000010000000000000005000000000000006970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136000000000000000006000000000000006970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136db0000000000000007000000000000006970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n type: 'write_table_item',\n },\n {\n state_key_hash: '0x6e4b28d40f98a106a65163530924c0dcb40c1349d3aa915d108b4d6cfc1ddb19',\n handle: '0x1b854694ae746cdbd8d44186ca4929b2b337df21d1c74633be19b2710552fdca',\n key: '0x0619dc29a0aac8fa146714058e8dd6d2d0f3bdf5f6331907bf91f3acd81e6935',\n value: '0x0111df3e1bfc6c010000000000000000',\n type: 'write_table_item',\n },\n ],\n sender: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n sequence_number: '23',\n max_gas_amount: '21796',\n gas_unit_price: '220',\n expiration_timestamp_secs: '1680391931',\n payload: {\n function: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136::lbp_scripts::swap_exact_in',\n type_arguments: [\n '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC',\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL',\n '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC',\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL',\n ],\n arguments: ['0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9', '20000000', '5777018785'],\n type: 'entry_function_payload',\n },\n signature: {\n public_key: '0xb9c9d2fc80b377d75d5b78d30cc2f0edb046a215c3e46444ed2ce66b0788ebff',\n signature:\n '0x5b9cd5d8ae0d100e956ec2d8a15844de0777b692985a61b7038b6a9d5c28e5ad03606f82760bf0fa6312697dfc2c56f47665d12ddfaf056d3e00583a8ed7840a',\n type: 'ed25519_signature',\n },\n events: [\n {\n guid: {\n creation_number: '16',\n account_address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n },\n sequence_number: '0',\n type: '0x1::coin::WithdrawEvent',\n data: {\n amount: '20000000',\n },\n },\n {\n guid: {\n creation_number: '8',\n account_address: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n },\n sequence_number: '180',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '40000',\n },\n },\n {\n guid: {\n creation_number: '7',\n account_address: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n },\n sequence_number: '218',\n type: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136::lbp::SwapEvent<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC, 0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL>',\n data: {\n amount_in: '20000000',\n amount_out: '5811069565',\n balance_0: '610709556396',\n balance_1: '948450714765102',\n creator_addr: '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9',\n fee_amount: '200000',\n is_buy: true,\n weight_0: {\n v: '2932309810243598415',\n },\n weight_1: {\n v: '15514434263465953201',\n },\n },\n },\n {\n guid: {\n creation_number: '0',\n account_address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n },\n sequence_number: '5',\n type: '0x1::account::CoinRegisterEvent',\n data: {\n type_info: {\n account_address: '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615',\n module_name: '0x74686c5f636f696e',\n struct_name: '0x54484c',\n },\n },\n },\n {\n guid: {\n creation_number: '17',\n account_address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n },\n sequence_number: '0',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '5811069565',\n },\n },\n ],\n timestamp: '1680391881111067',\n type: 'user_transaction',\n}\n"]}
1
+ {"version":3,"file":"coin-event.test.js","sourceRoot":"","sources":["../../../src/aptos/ext/coin-event.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { findNewCoinBalances, getDepositCoinType, getWithDrawCoinType } from './coin-event.js'\nimport { expect } from 'chai'\nimport { Transaction_UserTransaction } from '../move-types.js'\n\ndescribe('resource change ', () => {\n test('withdraw usdc', () => {\n const evt = tx.events[0]\n const type = getWithDrawCoinType(evt, tx)\n expect(type).eq('0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC')\n const balance = findNewCoinBalances(\n evt,\n tx,\n '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC'\n )\n expect(balance?.value).eq(103679210n)\n })\n\n test('deposit usdc', () => {\n const evt = tx.events[1]\n const type = getDepositCoinType(evt, tx)\n expect(type).eq('0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC')\n let balance = findNewCoinBalances(\n evt,\n tx,\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL'\n )\n expect(balance?.value).eq(undefined)\n balance = findNewCoinBalances(\n evt,\n tx,\n '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC'\n )\n expect(balance?.value).eq(42779473n)\n })\n\n test('deposit thl', () => {\n const evt = tx.events[4]\n const type = getDepositCoinType(evt, tx)\n expect(type).eq('0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL')\n const balance = findNewCoinBalances(\n evt,\n tx,\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL'\n )\n expect(balance?.value).eq(5811069565n)\n })\n\n test('test tx2', () => {\n // let type\n // type = getWithDrawCoinType(tx2.events[0], tx2)\n // // type = getWithDrawCoinType(tx2.events[1], tx2)\n // // type = getDepositCoinType(tx2.events[3], tx2)\n // type = getDepositCoinType(tx2.events[4], tx2)\n // type = getDepositCoinType(tx2.events[5], tx2)\n // type = getDepositCoinType(tx2.events[8], tx2)\n\n // console.log(type)\n\n let balance\n balance = findNewCoinBalances(\n tx2.events[0],\n tx2,\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL'\n )\n expect(balance).eq(undefined)\n balance = findNewCoinBalances(\n tx2.events[1],\n tx2,\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL'\n )\n expect(balance).eq(undefined)\n balance = findNewCoinBalances(\n tx2.events[3],\n tx2,\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL'\n )\n expect(balance).eq(undefined)\n balance = findNewCoinBalances(\n tx2.events[4],\n tx2,\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL'\n )\n expect(balance).eq(undefined)\n balance = findNewCoinBalances(\n tx2.events[5],\n tx2,\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL'\n )\n expect(balance).eq(undefined)\n })\n\n test('test tx3', () => {\n const balance = findNewCoinBalances(\n tx3.events[0],\n tx3,\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL'\n )\n expect(balance?.value).eq(0n)\n })\n})\n\nconst tx: Transaction_UserTransaction = {\n version: '112145263',\n hash: '0xe8a9cc7e974ce2c0b737241f034e76dc03c6b6e2eea2deb3538ba9c5fa18c6c6',\n state_change_hash: '0xc8e8d9cebaf525d1a330cd68bfcff596e364f67df37ccb50a4ad2f5ce7855e36',\n event_root_hash: '0x419261b51b786ac315ada03ec34be32cf2187c4f5e8604fa71d6896b1a371108',\n gas_used: '10974',\n success: true,\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0x8d56f2a61ffe3df0565850cb2e8a7e4d94c2dc6a8401e51d55946932de25309f',\n changes: [\n {\n address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n state_key_hash: '0x06c0d616285a1917619b93784eeca7deeb42fcc4c3a3fceaa050afa372543182',\n data: {\n type: '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>',\n data: {\n coin: {\n value: '508465811',\n },\n deposit_events: {\n counter: '5',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '2',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '20',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '3',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n state_key_hash: '0x0bf2b538b396fedbd1aa90cabfdc29ba93c466b0c110b5ffb81305aa6e82ef16',\n data: {\n type: '0x1::coin::CoinStore<0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL>',\n data: {\n coin: {\n value: '5811069565',\n },\n deposit_events: {\n counter: '1',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '17',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '18',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n state_key_hash: '0x43f2dc6124f3c13a30d716c0359d50246ecaec8376c9928e87d1bc8895e6b51e',\n data: {\n type: '0x1::coin::CoinStore<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC>',\n data: {\n coin: {\n value: '103679210',\n },\n deposit_events: {\n counter: '2',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '15',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '1',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '16',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n state_key_hash: '0x909bb549fa3d06c40ef7dbbafe0d19838d4c8024f94c352e27aaeec2dcedf690',\n data: {\n type: '0x1::account::Account',\n data: {\n authentication_key: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n coin_register_events: {\n counter: '6',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '0',\n },\n },\n },\n guid_creation_num: '19',\n key_rotation_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n creation_num: '1',\n },\n },\n },\n rotation_capability_offer: {\n for: {\n vec: [],\n },\n },\n sequence_number: '24',\n signer_capability_offer: {\n for: {\n vec: [],\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n state_key_hash: '0x9b9cc662dd91ed7ca91208cc659642ffbe16e7bafafbc5e98062a85b867c876d',\n data: {\n type: '0x1::coin::CoinStore<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC>',\n data: {\n coin: {\n value: '42779473',\n },\n deposit_events: {\n counter: '181',\n guid: {\n id: {\n addr: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n creation_num: '8',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n creation_num: '9',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n state_key_hash: '0x7b6af779cb568ceab26c256848a7da4c1e32be96b445674bb23f4d895a137090',\n handle: '0x1ae3702f4b77f5422c21a1e821a3863a2bb05b13c6663ba3e5e325ad82973c0c',\n key: '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9',\n value:\n '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9ac4c20318e000000b81e85eb51b81e05000000000000000033333333333333b300000000000000002ec7f0639c5e030000000000d4fa950201000000000000005c8fc2f5285c8f020000000000000000f06527640000000070fd2d64000000000070c9b28b0000000060891c056003000000000000000000000000000000000000010000000000000005000000000000006970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136000000000000000006000000000000006970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136db0000000000000007000000000000006970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n type: 'write_table_item',\n },\n {\n state_key_hash: '0x6e4b28d40f98a106a65163530924c0dcb40c1349d3aa915d108b4d6cfc1ddb19',\n handle: '0x1b854694ae746cdbd8d44186ca4929b2b337df21d1c74633be19b2710552fdca',\n key: '0x0619dc29a0aac8fa146714058e8dd6d2d0f3bdf5f6331907bf91f3acd81e6935',\n value: '0x0111df3e1bfc6c010000000000000000',\n type: 'write_table_item',\n },\n ],\n sender: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n sequence_number: '23',\n max_gas_amount: '21796',\n gas_unit_price: '220',\n expiration_timestamp_secs: '1680391931',\n payload: {\n function: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136::lbp_scripts::swap_exact_in',\n type_arguments: [\n '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC',\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL',\n '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC',\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL',\n ],\n arguments: ['0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9', '20000000', '5777018785'],\n type: 'entry_function_payload',\n },\n signature: {\n public_key: '0xb9c9d2fc80b377d75d5b78d30cc2f0edb046a215c3e46444ed2ce66b0788ebff',\n signature:\n '0x5b9cd5d8ae0d100e956ec2d8a15844de0777b692985a61b7038b6a9d5c28e5ad03606f82760bf0fa6312697dfc2c56f47665d12ddfaf056d3e00583a8ed7840a',\n type: 'ed25519_signature',\n },\n events: [\n {\n guid: {\n creation_number: '16',\n account_address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n },\n sequence_number: '0',\n type: '0x1::coin::WithdrawEvent',\n data: {\n amount: '20000000',\n },\n },\n {\n guid: {\n creation_number: '8',\n account_address: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n },\n sequence_number: '180',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '40000',\n },\n },\n {\n guid: {\n creation_number: '7',\n account_address: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n },\n sequence_number: '218',\n type: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136::lbp::SwapEvent<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC, 0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL>',\n data: {\n amount_in: '20000000',\n amount_out: '5811069565',\n balance_0: '610709556396',\n balance_1: '948450714765102',\n creator_addr: '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9',\n fee_amount: '200000',\n is_buy: true,\n weight_0: {\n v: '2932309810243598415',\n },\n weight_1: {\n v: '15514434263465953201',\n },\n },\n },\n {\n guid: {\n creation_number: '0',\n account_address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n },\n sequence_number: '5',\n type: '0x1::account::CoinRegisterEvent',\n data: {\n type_info: {\n account_address: '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615',\n module_name: '0x74686c5f636f696e',\n struct_name: '0x54484c',\n },\n },\n },\n {\n guid: {\n creation_number: '17',\n account_address: '0x121d3f79798e75b04273f6364b8973e61e8fcab896a44f1e0914d97f4d36d6de',\n },\n sequence_number: '0',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '5811069565',\n },\n },\n ],\n timestamp: '1680391881111067',\n type: 'user_transaction',\n}\n\nconst tx2: Transaction_UserTransaction = {\n sequence_number: '10',\n hash: '0x54ce83a3278c97dcea3854728333b7d6502acd11a42aa669b3260d0fe5ea6cad',\n state_root_hash: '',\n success: true,\n sender: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n payload: {\n type: 'entry_function_payload',\n type_arguments: ['0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC'],\n arguments: [\n '110',\n '0x000000000000000000000000d2a7e100e1ab1206287cda30fe2ae7d97d9d0deb',\n '50000000',\n '25520823',\n '0',\n false,\n '0x0001000000000016e360',\n '0x',\n ],\n function: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::coin_bridge::send_coin_from',\n },\n gas_used: '8411',\n previous_block_votes: [],\n gas_unit_price: '200',\n timestamp: '1680236864637748',\n version: '111037488',\n event_root_hash: '0xcb5430c2581756eed1ca5484a4b0d98e01e36553195fcfd2945b8ea836939a7c',\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0',\n proposer: '',\n round: '0',\n max_gas_amount: '16696',\n expiration_timestamp_secs: '1680236903',\n secondary_signers: [],\n type: 'user_transaction',\n changes: [\n {\n data: {\n type: '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>',\n data: {\n coin: { value: '1393131408554' },\n deposit_events: {\n counter: '105022',\n guid: {\n id: {\n addr: '0x12e12de0af996d9611b0b78928cd9f4cbf50d94d972043cdd829baa77a78929b',\n creation_num: '2',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '0',\n guid: {\n id: {\n creation_num: '3',\n addr: '0x12e12de0af996d9611b0b78928cd9f4cbf50d94d972043cdd829baa77a78929b',\n },\n },\n },\n },\n key: '',\n value: '',\n bytecode: '',\n abi: null,\n },\n type: 'write_resource',\n state_key_hash: '0x31ee1f242c010b8df72caafdb881c3122a11f3b42c852903a6b183e94d7fb4dd',\n address: '0x12e12de0af996d9611b0b78928cd9f4cbf50d94d972043cdd829baa77a78929b',\n module: '',\n resource: '',\n },\n {\n data: {\n key: '',\n value: '',\n bytecode: '',\n abi: null,\n type: '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>',\n data: {\n coin: { value: '1544195755945' },\n deposit_events: {\n counter: '210239',\n guid: {\n id: {\n creation_num: '2',\n addr: '0x1d8727df513fa2a8785d0834e40b34223daff1affc079574082baadb74b66ee4',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '236274',\n guid: {\n id: {\n addr: '0x1d8727df513fa2a8785d0834e40b34223daff1affc079574082baadb74b66ee4',\n creation_num: '3',\n },\n },\n },\n },\n },\n type: 'write_resource',\n state_key_hash: '0x0de63635040df012ebc7d954c75e4974e0f58e8aed13aa66122b408ca038e82d',\n address: '0x1d8727df513fa2a8785d0834e40b34223daff1affc079574082baadb74b66ee4',\n module: '',\n resource: '',\n },\n {\n state_key_hash: '0x6456027d9e174457399361c5e6bf700489b6c85dada6c0a4eadf25cfe42cd1bd',\n address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n module: '',\n resource: '',\n data: {\n handle: '',\n key: '',\n value: '',\n bytecode: '',\n abi: null,\n type: '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>',\n data: {\n frozen: false,\n withdraw_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n creation_num: '3',\n },\n },\n },\n coin: { value: '9985597700' },\n deposit_events: {\n counter: '105024',\n guid: {\n id: {\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n creation_num: '2',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n type: 'write_resource',\n state_key_hash: '0x11fa2567d223b675f2f65a376d63b8405a0deb5da0fba64e9f5712910ebff333',\n address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n module: '',\n resource: '',\n data: {\n key: '',\n value: '',\n bytecode: '',\n abi: null,\n type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::channel::EventStore',\n data: {\n inbound_events: {\n counter: '239866',\n guid: {\n id: {\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n creation_num: '4',\n },\n },\n },\n outbound_events: {\n counter: '105022',\n guid: {\n id: {\n creation_num: '5',\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n },\n },\n },\n receive_events: {\n counter: '239916',\n guid: {\n id: {\n creation_num: '6',\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n },\n },\n },\n },\n handle: '',\n },\n },\n {\n data: {\n bytecode: '',\n abi: null,\n type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::executor_v1::EventStore',\n data: {\n airdrop_events: {\n counter: '236084',\n guid: {\n id: {\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n creation_num: '12',\n },\n },\n },\n request_events: {\n counter: '105022',\n guid: {\n id: {\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n creation_num: '11',\n },\n },\n },\n },\n handle: '',\n key: '',\n },\n type: 'write_resource',\n state_key_hash: '0xa3f556bdcaf77155b8b3dced1707f9713eedf03a48e96bc2f66341f10e0f71b4',\n address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n module: '',\n resource: '',\n },\n {\n type: 'write_resource',\n state_key_hash: '0xa64be437fdc2629ade52a3200b2913f55d8736f5ea4c9269fdf3720d37cbcf07',\n address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n module: '',\n resource: '',\n data: {\n abi: null,\n type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::msglib_v1_0::GlobalStore',\n data: {\n outbound_events: {\n counter: '105022',\n guid: {\n id: {\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n creation_num: '9',\n },\n },\n },\n treasury_fee_bps: 0,\n },\n handle: '',\n key: '',\n value: '',\n },\n },\n {\n address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n module: '',\n resource: '',\n data: {\n abi: null,\n type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::packet_event::EventStore',\n data: {\n outbound_events: {\n guid: {\n id: {\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n creation_num: '8',\n },\n },\n counter: '105022',\n },\n inbound_events: {\n counter: '239916',\n guid: {\n id: {\n addr: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n creation_num: '7',\n },\n },\n },\n },\n handle: '',\n key: '',\n },\n type: 'write_resource',\n state_key_hash: '0xf76bf20e68b4724ba1c758d4557661de33c8f96681e8f700cbcc6e5a727a63c1',\n },\n {\n address: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n module: '',\n resource: '',\n data: {\n abi: null,\n type: '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>',\n data: {\n deposit_events: {\n guid: {\n id: {\n addr: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n creation_num: '2',\n },\n },\n counter: '6',\n },\n frozen: false,\n withdraw_events: {\n counter: '10',\n guid: {\n id: {\n addr: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n creation_num: '3',\n },\n },\n },\n coin: { value: '81201559' },\n },\n handle: '',\n key: '',\n },\n type: 'write_resource',\n state_key_hash: '0xb687b62365b887ed9118ce992bfad45e8e77eaede57973b7212797007879e446',\n },\n {\n type: 'write_resource',\n state_key_hash: '0x0bdfead879d41c9e0fc8d76299df40eb7becc2534240298c5d7a4291fe2f01c1',\n address: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n module: '',\n resource: '',\n data: {\n abi: null,\n type: '0x1::coin::CoinStore<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC>',\n data: {\n coin: { value: '0' },\n deposit_events: {\n guid: {\n id: {\n addr: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n creation_num: '12',\n },\n },\n counter: '1',\n },\n frozen: false,\n withdraw_events: {\n guid: {\n id: {\n creation_num: '13',\n addr: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n },\n },\n counter: '1',\n },\n },\n handle: '',\n },\n },\n {\n type: 'write_resource',\n state_key_hash: '0xe99f46d5b29b64245b6294c438cf54dda32b3b59dfc62e0dff2c5ad806990e10',\n address: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n module: '',\n resource: '',\n data: {\n abi: null,\n type: '0x1::account::Account',\n data: {\n signer_capability_offer: { for: { vec: [] } },\n authentication_key: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n coin_register_events: {\n counter: '3',\n guid: {\n id: {\n addr: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n creation_num: '0',\n },\n },\n },\n guid_creation_num: '14',\n key_rotation_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n creation_num: '1',\n },\n },\n },\n rotation_capability_offer: { for: { vec: [] } },\n sequence_number: '11',\n },\n handle: '',\n key: '',\n value: '',\n bytecode: '',\n },\n },\n {\n module: '',\n resource: '',\n data: {\n handle: '',\n key: '',\n value: '',\n bytecode: '',\n abi: null,\n type: '0x1::coin::CoinInfo<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC>',\n data: {\n supply: {\n vec: [\n {\n aggregator: { vec: [] },\n integer: { vec: [{ limit: '340282366920938463463374607431768211455', value: '14323584217036' }] },\n },\n ],\n },\n symbol: 'USDC',\n decimals: 6,\n name: 'USD Coin',\n },\n },\n type: 'write_resource',\n state_key_hash: '0xb2c6ac0fb290adcc000aa3dabb872c3d702d9db5ffcd79f0372c468d66b9ad75',\n address: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa',\n },\n {\n type: 'write_resource',\n state_key_hash: '0x354b9f98f9b9ec4daef12a12cf7a90fba0835e0217e619d9842c10a5a7a1f5e7',\n address: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa',\n module: '',\n resource: '',\n data: {\n handle: '',\n key: '',\n value: '',\n bytecode: '',\n abi: null,\n type: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::limiter::Limiter<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC>',\n data: {\n cap_sd: '3000000000000',\n enabled: true,\n sum_sd: '367816956728',\n t0_sec: '1680230642',\n window_sec: '86400',\n },\n },\n },\n {\n type: 'write_resource',\n state_key_hash: '0xd4044c0f6183e29c9b0eac374056cee14aa5c239b811be978df8e9454d58cc94',\n address: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa',\n module: '',\n resource: '',\n data: {\n value: '',\n bytecode: '',\n abi: null,\n type: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::coin_bridge::EventStore',\n data: {\n claim_events: {\n counter: '40964',\n guid: {\n id: {\n addr: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa',\n creation_num: '6',\n },\n },\n },\n receive_events: {\n counter: '228722',\n guid: {\n id: {\n creation_num: '5',\n addr: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa',\n },\n },\n },\n send_events: {\n guid: {\n id: {\n addr: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa',\n creation_num: '4',\n },\n },\n counter: '98345',\n },\n },\n handle: '',\n key: '',\n },\n },\n {\n type: 'write_table_item',\n state_key_hash: '0x6e4b28d40f98a106a65163530924c0dcb40c1349d3aa915d108b4d6cfc1ddb19',\n address: '',\n module: '',\n resource: '',\n data: { key: '', value: '', bytecode: '', abi: null, type: '', data: null, handle: '' },\n },\n {\n type: 'write_table_item',\n state_key_hash: '0x06cb6cf2f040035431f6525cb9d0243dbf1070ac129efaa868d53f5fb213f426',\n address: '',\n module: '',\n resource: '',\n data: { data: null, handle: '', key: '', value: '', bytecode: '', abi: null, type: '' },\n },\n {\n type: 'write_table_item',\n state_key_hash: '0xd0e374e4d7ffad287513f63e19a347f8d1f147d1294a6b1dd01f207bc734247e',\n address: '',\n module: '',\n resource: '',\n data: { abi: null, type: '', data: null, handle: '', key: '', value: '', bytecode: '' },\n },\n ],\n id: '',\n events: [\n {\n guid: {\n creation_number: '13',\n account_address: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n },\n sequence_number: '0',\n type: '0x1::coin::WithdrawEvent',\n data: {\n amount: '50000000',\n },\n },\n {\n guid: {\n creation_number: '3',\n account_address: '0x8d52b9746754dda43977e88b7b57fd761ec33df0f8cb4b275fee7b93d64719ed',\n },\n sequence_number: '9',\n type: '0x1::coin::WithdrawEvent',\n data: {\n amount: '25520823',\n },\n },\n {\n guid: {\n creation_number: '5',\n account_address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n },\n sequence_number: '105021',\n type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::channel::MsgEvent',\n data: {\n local_address: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa',\n nonce: '39416',\n remote_address: '0x1bacc2205312534375c8d1801c27d28370656cff',\n remote_chain_id: '110',\n },\n },\n {\n guid: {\n creation_number: '2',\n account_address: '0x12e12de0af996d9611b0b78928cd9f4cbf50d94d972043cdd829baa77a78929b',\n },\n sequence_number: '105021',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '11292750',\n },\n },\n {\n guid: {\n creation_number: '2',\n account_address: '0x1d8727df513fa2a8785d0834e40b34223daff1affc079574082baadb74b66ee4',\n },\n sequence_number: '210237',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '11558073',\n },\n },\n {\n guid: {\n creation_number: '2',\n account_address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n },\n sequence_number: '105023',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '0',\n },\n },\n {\n guid: {\n creation_number: '9',\n account_address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n },\n sequence_number: '105021',\n type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::msglib_v1_0::UlnEvent',\n data: {\n uln_config: {\n inbound_confirmations: '20',\n oracle: '0x12e12de0af996d9611b0b78928cd9f4cbf50d94d972043cdd829baa77a78929b',\n outbound_confirmations: '500000',\n relayer: '0x1d8727df513fa2a8785d0834e40b34223daff1affc079574082baadb74b66ee4',\n },\n },\n },\n {\n guid: {\n creation_number: '8',\n account_address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n },\n sequence_number: '105021',\n type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::packet_event::OutboundEvent',\n data: {\n encoded_packet:\n '0x00000000000099f8006cf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa006e1bacc2205312534375c8d1801c27d28370656cff01000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc8000000000000000000000000d2a7e100e1ab1206287cda30fe2ae7d97d9d0deb0000000002faf08000',\n },\n },\n {\n guid: {\n creation_number: '2',\n account_address: '0x1d8727df513fa2a8785d0834e40b34223daff1affc079574082baadb74b66ee4',\n },\n sequence_number: '210238',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '2670000',\n },\n },\n {\n guid: {\n creation_number: '11',\n account_address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90',\n },\n sequence_number: '105021',\n type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::executor_v1::RequestEvent',\n data: {\n adapter_params: '0x0001000000000016e360',\n executor: '0x1d8727df513fa2a8785d0834e40b34223daff1affc079574082baadb74b66ee4',\n guid: '0x0e3356f5b8e3a70178fb19bd2eda2ad2796692fd53d31a4b9b663982a3bbecd0',\n },\n },\n {\n guid: {\n creation_number: '4',\n account_address: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa',\n },\n sequence_number: '98344',\n type: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::coin_bridge::SendEvent',\n data: {\n amount_ld: '50000000',\n coin_type: {\n account_address: '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa',\n module_name: '0x6173736574',\n struct_name: '0x55534443',\n },\n dst_chain_id: '110',\n dst_receiver: '0x000000000000000000000000d2a7e100e1ab1206287cda30fe2ae7d97d9d0deb',\n unwrap: false,\n },\n },\n ],\n} as any\n\nconst tx3: Transaction_UserTransaction = {\n version: '111523396',\n hash: '0x86a58499f43b357e74060c4f29eca1cb84287558a58cfcfd8c5354678955b37d',\n state_change_hash: '0x1c0dfabf2396b0ce8c460071bccfc688101709ffc13039232046c09cf06ec18b',\n event_root_hash: '0x4d1baf46187de8bb0154298d43767b5b5d90eeca8b54c8facfdc07f09f5caa1d',\n state_checkpoint_hash: null,\n gas_used: '10063',\n success: true,\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0x300de1c907c241a5063959fb97ed95c133fa4186f387e42d47fae76626e663ad',\n changes: [\n {\n address: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n state_key_hash: '0x08020b6fd16c7d49c07107f9254d2b83b8363effe5b9b21768f4771e17428203',\n data: {\n type: '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>',\n data: {\n coin: {\n value: '123738600',\n },\n deposit_events: {\n counter: '4',\n guid: {\n id: {\n addr: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n creation_num: '2',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '1',\n guid: {\n id: {\n addr: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n creation_num: '3',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n state_key_hash: '0xf3595bd2639058e013ad85d9b726c230784cabad4d0ec68c100b523f5280fa0c',\n data: {\n type: '0x1::coin::CoinStore<0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL>',\n data: {\n coin: {\n value: '0',\n },\n deposit_events: {\n counter: '1',\n guid: {\n id: {\n addr: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n creation_num: '10',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '1',\n guid: {\n id: {\n addr: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n creation_num: '11',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n state_key_hash: '0x649b8fd2ffef632d6a73cd5eec2ed2af3fcd448df8a700b268ca46ea72d182c1',\n data: {\n type: '0x1::coin::CoinStore<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC>',\n data: {\n coin: {\n value: '8253916694',\n },\n deposit_events: {\n counter: '4',\n guid: {\n id: {\n addr: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n creation_num: '8',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '1',\n guid: {\n id: {\n addr: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n creation_num: '9',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n state_key_hash: '0x500ececa30c7cdb4db8e3b176191c1dc98b92c43373a1a99f5fbbcd7f4ed0f6a',\n data: {\n type: '0x1::account::Account',\n data: {\n authentication_key: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n coin_register_events: {\n counter: '5',\n guid: {\n id: {\n addr: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n creation_num: '0',\n },\n },\n },\n guid_creation_num: '12',\n key_rotation_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n creation_num: '1',\n },\n },\n },\n rotation_capability_offer: {\n for: {\n vec: [],\n },\n },\n sequence_number: '4',\n signer_capability_offer: {\n for: {\n vec: [],\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n address: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n state_key_hash: '0xc677f04f18b95c4870a74bb15a8fb7c202ed6a8578a5c6041550d985046237e2',\n data: {\n type: '0x1::coin::CoinStore<0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL>',\n data: {\n coin: {\n value: '592092570',\n },\n deposit_events: {\n counter: '4',\n guid: {\n id: {\n addr: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n creation_num: '10',\n },\n },\n },\n frozen: false,\n withdraw_events: {\n counter: '0',\n guid: {\n id: {\n addr: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n creation_num: '11',\n },\n },\n },\n },\n },\n type: 'write_resource',\n },\n {\n state_key_hash: '0x7b6af779cb568ceab26c256848a7da4c1e32be96b445674bb23f4d895a137090',\n handle: '0x1ae3702f4b77f5422c21a1e821a3863a2bb05b13c6663ba3e5e325ad82973c0c',\n key: '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9',\n value:\n '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9d1b125288c000000b81e85eb51b81e05000000000000000033333333333333b30000000000000000b1a93c49fb5f030000000000d4fa950201000000000000005c8fc2f5285c8f020000000000000000f06527640000000070fd2d64000000000070c9b28b0000000060891c056003000000000000000000000000000000000000010000000000000005000000000000006970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136000000000000000006000000000000006970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136100000000000000007000000000000006970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n data: null,\n type: 'write_table_item',\n },\n {\n state_key_hash: '0x6e4b28d40f98a106a65163530924c0dcb40c1349d3aa915d108b4d6cfc1ddb19',\n handle: '0x1b854694ae746cdbd8d44186ca4929b2b337df21d1c74633be19b2710552fdca',\n key: '0x0619dc29a0aac8fa146714058e8dd6d2d0f3bdf5f6331907bf91f3acd81e6935',\n value: '0xe8457eeb26ec6c010000000000000000',\n data: null,\n type: 'write_table_item',\n },\n ],\n sender: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n sequence_number: '3',\n max_gas_amount: '20082',\n gas_unit_price: '200',\n expiration_timestamp_secs: '1680304437',\n payload: {\n function: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136::lbp_scripts::swap_exact_in',\n type_arguments: [\n '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC',\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL',\n '0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL',\n '0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC',\n ],\n arguments: ['0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9', '283433368837', '5757212276'],\n type: 'entry_function_payload',\n },\n signature: {\n public_key: '0x8df225f875235cb64ab18063da5af13cc80c5bb79fad4016c3e717eea76d89bd',\n signature:\n '0x5f7c131a1a6c297d45756c64e5b3944a8405f0574c569c7562012a8eb680bf14cbf995fc4c538cd1cef1cbf5ba9c5a1e1e7fef9d4613f780d13ce38443939c03',\n type: 'ed25519_signature',\n },\n events: [\n {\n guid: {\n creation_number: '11',\n account_address: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n },\n sequence_number: '0',\n type: '0x1::coin::WithdrawEvent',\n data: {\n amount: '283433368837',\n },\n },\n {\n guid: {\n creation_number: '10',\n account_address: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n },\n sequence_number: '3',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '566866738',\n },\n },\n {\n guid: {\n creation_number: '7',\n account_address: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136',\n },\n sequence_number: '15',\n type: '0x6970b4878c3aea96732be3f31c2dded12d94d9455ff0c76c67d84859dce35136::lbp::SwapEvent<0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC, 0x7fd500c11216f0fe3095d0c4b8aa4d64a4e2e04f83758462f2b127255643615::thl_coin::THL>',\n data: {\n amount_in: '283433368837',\n amount_out: '8253916694',\n balance_0: '601968980433',\n balance_1: '949957800274353',\n creator_addr: '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9',\n fee_amount: '2834333688',\n is_buy: false,\n weight_0: {\n v: '391670493545038053',\n },\n weight_1: {\n v: '18055073580164513563',\n },\n },\n },\n {\n guid: {\n creation_number: '8',\n account_address: '0x198e51d10144600bec455c2ea10dfb924259b5f7241c39e27162b1dc20c1988e',\n },\n sequence_number: '3',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '8253916694',\n },\n },\n ],\n timestamp: '1680304383017796',\n type: 'user_transaction',\n} as any\n"]}
@@ -1,3 +1,3 @@
1
1
  export * from './aptos-dex.js';
2
2
  export * from './coin.js';
3
- export * from './coin-event.js';
3
+ export { findNewCoinBalances } from './coin-event.js';
@@ -1,4 +1,4 @@
1
1
  export * from './aptos-dex.js';
2
2
  export * from './coin.js';
3
- export * from './coin-event.js';
3
+ export { findNewCoinBalances } from './coin-event.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aptos/ext/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA","sourcesContent":["export * from './aptos-dex.js'\nexport * from './coin.js'\nexport * from './coin-event.js'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aptos/ext/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA","sourcesContent":["export * from './aptos-dex.js'\nexport * from './coin.js'\nexport { findNewCoinBalances } from './coin-event.js'\n"]}
@@ -4,13 +4,14 @@ import { NamedResultDescriptor } from './metadata.js';
4
4
  import { normalizeAttribute } from './normalization.js';
5
5
  /** @deprecated */
6
6
  // eslint-disable-next-line deprecation/deprecation
7
- export class EventTrackerState extends MapStateStorage {
7
+ class EventTrackerState extends MapStateStorage {
8
8
  // eslint-disable-next-line deprecation/deprecation
9
9
  static INSTANCE = new EventTrackerState();
10
10
  }
11
+ export { EventTrackerState };
11
12
  // Track Event with an identity associate with it
12
13
  /** @deprecated */
13
- export class EventTracker extends NamedResultDescriptor {
14
+ class EventTracker extends NamedResultDescriptor {
14
15
  static DEFAULT_OPTIONS = {
15
16
  totalByDay: true,
16
17
  unique: true,
@@ -40,9 +41,10 @@ export class EventTracker extends NamedResultDescriptor {
40
41
  ctx._res.events.push(res);
41
42
  }
42
43
  }
44
+ export { EventTracker };
43
45
  /** @deprecated */
44
46
  // eslint-disable-next-line deprecation/deprecation
45
- export class AccountEventTracker extends EventTracker {
47
+ class AccountEventTracker extends EventTracker {
46
48
  static DEFAULT_OPTIONS = {
47
49
  totalByDay: true,
48
50
  unique: true,
@@ -61,4 +63,5 @@ export class AccountEventTracker extends EventTracker {
61
63
  return EventTrackerState.INSTANCE.getOrSetValue(eventName, tracker);
62
64
  }
63
65
  }
66
+ export { AccountEventTracker };
64
67
  //# sourceMappingURL=event-tracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-tracker.js","sourceRoot":"","sources":["../../src/core/event-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AASvD,kBAAkB;AAClB,mDAAmD;AACnD,MAAM,OAAO,iBAAkB,SAAQ,eAA6B;IAClE,mDAAmD;IACnD,MAAM,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAA;;AAG3C,iDAAiD;AACjD,kBAAkB;AAClB,MAAM,OAAO,YAAa,SAAQ,qBAAqB;IACrD,MAAM,CAAC,eAAe,GAAmB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;KACb,CAAA;IAED,MAAM,CAAC,QAAQ,CAAC,SAAiB,EAAE,OAAwB;QACzD,mDAAmD;QACnD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,YAAY,CAAC,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC5F,mDAAmD;QACnD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACrE,CAAC;IAED,OAAO,CAAgB;IACvB,YAAsB,SAAiB,EAAE,OAAuB;QAC9D,KAAK,CAAC,SAAS,CAAC,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,UAAU,CAAI,GAAgB,EAAE,KAAe;QAC7C,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAA;QAE3D,MAAM,GAAG,GAAwB;YAC/B,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI;YACnC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,gBAAgB,EAAE,UAAU,IAAI,EAAE;YAClC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC;YACvC,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,KAAK;SAChB,CAAA;QACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;;AAEH,kBAAkB;AAClB,mDAAmD;AACnD,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACnD,MAAM,CAAC,eAAe,GAAmB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;KAC3B,CAAA;IAED,MAAM,CAAC,QAAQ,CAAC,SAAkB,EAAE,OAAwB;QAC1D,IAAI,SAAS,EAAE;YACb,SAAS,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC1C;aAAM;YACL,SAAS,GAAG,MAAM,CAAA;SACnB;QACD,mDAAmD;QACnD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,GAAG,mBAAmB,CAAC,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC1G,mDAAmD;QACnD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACrE,CAAC","sourcesContent":["import { BaseContext } from './base-context.js'\nimport { EventTrackingResult, LogLevel } from '@sentio/protos'\nimport { MapStateStorage } from '@sentio/runtime'\nimport { NamedResultDescriptor } from './metadata.js'\nimport { normalizeAttribute } from './normalization.js'\nimport { Event } from './event-logger.js'\n\nexport interface TrackerOptions {\n totalByDay?: boolean\n unique?: boolean\n distinctByDays?: number[]\n}\n\n/** @deprecated */\n// eslint-disable-next-line deprecation/deprecation\nexport class EventTrackerState extends MapStateStorage<EventTracker> {\n // eslint-disable-next-line deprecation/deprecation\n static INSTANCE = new EventTrackerState()\n}\n\n// Track Event with an identity associate with it\n/** @deprecated */\nexport class EventTracker extends NamedResultDescriptor {\n static DEFAULT_OPTIONS: TrackerOptions = {\n totalByDay: true,\n unique: true,\n }\n\n static register(eventName: string, options?: TrackerOptions) {\n // eslint-disable-next-line deprecation/deprecation\n const tracker = new EventTracker(eventName, { ...EventTracker.DEFAULT_OPTIONS, ...options })\n // eslint-disable-next-line deprecation/deprecation\n return EventTrackerState.INSTANCE.getOrSetValue(eventName, tracker)\n }\n\n options: TrackerOptions\n protected constructor(eventName: string, options: TrackerOptions) {\n super(eventName)\n this.options = options\n }\n\n trackEvent<T>(ctx: BaseContext, event: Event<T>) {\n const { distinctId, message, severity, ...payload } = event\n\n const res: EventTrackingResult = {\n message: message || '',\n severity: severity || LogLevel.INFO,\n metadata: ctx.getMetaData(this.name, {}),\n distinctEntityId: distinctId || '',\n attributes: normalizeAttribute(payload),\n runtimeInfo: undefined,\n noMetric: false,\n }\n ctx._res.events.push(res)\n }\n}\n/** @deprecated */\n// eslint-disable-next-line deprecation/deprecation\nexport class AccountEventTracker extends EventTracker {\n static DEFAULT_OPTIONS: TrackerOptions = {\n totalByDay: true,\n unique: true,\n distinctByDays: [1, 7, 30],\n }\n\n static register(eventName?: string, options?: TrackerOptions) {\n if (eventName) {\n eventName = ['user', eventName].join('_')\n } else {\n eventName = 'user'\n }\n // eslint-disable-next-line deprecation/deprecation\n const tracker = new AccountEventTracker(eventName, { ...AccountEventTracker.DEFAULT_OPTIONS, ...options })\n // eslint-disable-next-line deprecation/deprecation\n return EventTrackerState.INSTANCE.getOrSetValue(eventName, tracker)\n }\n}\n"]}
1
+ {"version":3,"file":"event-tracker.js","sourceRoot":"","sources":["../../src/core/event-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AASvD,kBAAkB;AAClB,mDAAmD;AACnD,MAAa,iBAAkB,SAAQ,eAA6B;IAClE,mDAAmD;IACnD,MAAM,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAA;;SAF9B,iBAAiB;AAK9B,iDAAiD;AACjD,kBAAkB;AAClB,MAAa,YAAa,SAAQ,qBAAqB;IACrD,MAAM,CAAC,eAAe,GAAmB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;KACb,CAAA;IAED,MAAM,CAAC,QAAQ,CAAC,SAAiB,EAAE,OAAwB;QACzD,mDAAmD;QACnD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,YAAY,CAAC,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC5F,mDAAmD;QACnD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACrE,CAAC;IAED,OAAO,CAAgB;IACvB,YAAsB,SAAiB,EAAE,OAAuB;QAC9D,KAAK,CAAC,SAAS,CAAC,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,UAAU,CAAI,GAAgB,EAAE,KAAe;QAC7C,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAA;QAE3D,MAAM,GAAG,GAAwB;YAC/B,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI;YACnC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,gBAAgB,EAAE,UAAU,IAAI,EAAE;YAClC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC;YACvC,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,KAAK;SAChB,CAAA;QACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;;SAhCU,YAAY;AAkCzB,kBAAkB;AAClB,mDAAmD;AACnD,MAAa,mBAAoB,SAAQ,YAAY;IACnD,MAAM,CAAC,eAAe,GAAmB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;KAC3B,CAAA;IAED,MAAM,CAAC,QAAQ,CAAC,SAAkB,EAAE,OAAwB;QAC1D,IAAI,SAAS,EAAE;YACb,SAAS,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC1C;aAAM;YACL,SAAS,GAAG,MAAM,CAAA;SACnB;QACD,mDAAmD;QACnD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,GAAG,mBAAmB,CAAC,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC1G,mDAAmD;QACnD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACrE,CAAC;;SAjBU,mBAAmB","sourcesContent":["import { BaseContext } from './base-context.js'\nimport { EventTrackingResult, LogLevel } from '@sentio/protos'\nimport { MapStateStorage } from '@sentio/runtime'\nimport { NamedResultDescriptor } from './metadata.js'\nimport { normalizeAttribute } from './normalization.js'\nimport { Event } from './event-logger.js'\n\nexport interface TrackerOptions {\n totalByDay?: boolean\n unique?: boolean\n distinctByDays?: number[]\n}\n\n/** @deprecated */\n// eslint-disable-next-line deprecation/deprecation\nexport class EventTrackerState extends MapStateStorage<EventTracker> {\n // eslint-disable-next-line deprecation/deprecation\n static INSTANCE = new EventTrackerState()\n}\n\n// Track Event with an identity associate with it\n/** @deprecated */\nexport class EventTracker extends NamedResultDescriptor {\n static DEFAULT_OPTIONS: TrackerOptions = {\n totalByDay: true,\n unique: true,\n }\n\n static register(eventName: string, options?: TrackerOptions) {\n // eslint-disable-next-line deprecation/deprecation\n const tracker = new EventTracker(eventName, { ...EventTracker.DEFAULT_OPTIONS, ...options })\n // eslint-disable-next-line deprecation/deprecation\n return EventTrackerState.INSTANCE.getOrSetValue(eventName, tracker)\n }\n\n options: TrackerOptions\n protected constructor(eventName: string, options: TrackerOptions) {\n super(eventName)\n this.options = options\n }\n\n trackEvent<T>(ctx: BaseContext, event: Event<T>) {\n const { distinctId, message, severity, ...payload } = event\n\n const res: EventTrackingResult = {\n message: message || '',\n severity: severity || LogLevel.INFO,\n metadata: ctx.getMetaData(this.name, {}),\n distinctEntityId: distinctId || '',\n attributes: normalizeAttribute(payload),\n runtimeInfo: undefined,\n noMetric: false,\n }\n ctx._res.events.push(res)\n }\n}\n/** @deprecated */\n// eslint-disable-next-line deprecation/deprecation\nexport class AccountEventTracker extends EventTracker {\n static DEFAULT_OPTIONS: TrackerOptions = {\n totalByDay: true,\n unique: true,\n distinctByDays: [1, 7, 30],\n }\n\n static register(eventName?: string, options?: TrackerOptions) {\n if (eventName) {\n eventName = ['user', eventName].join('_')\n } else {\n eventName = 'user'\n }\n // eslint-disable-next-line deprecation/deprecation\n const tracker = new AccountEventTracker(eventName, { ...AccountEventTracker.DEFAULT_OPTIONS, ...options })\n // eslint-disable-next-line deprecation/deprecation\n return EventTrackerState.INSTANCE.getOrSetValue(eventName, tracker)\n }\n}\n"]}
@@ -1,8 +1,9 @@
1
1
  import { NamedResultDescriptor } from './metadata.js';
2
2
  import { MapStateStorage } from '@sentio/runtime';
3
- export class ExporterState extends MapStateStorage {
3
+ class ExporterState extends MapStateStorage {
4
4
  static INSTANCE = new ExporterState();
5
5
  }
6
+ export { ExporterState };
6
7
  export class Exporter extends NamedResultDescriptor {
7
8
  static register(name, channel) {
8
9
  const exporter = new Exporter(name, channel);
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../src/core/exporter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAIjD,MAAM,OAAO,aAAc,SAAQ,eAAyB;IAC1D,MAAM,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;;AAGvC,MAAM,OAAO,QAAS,SAAQ,qBAAqB;IACjD,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAe;QAC3C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5C,OAAO,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,CAAQ;IACf,YAAsB,IAAY,EAAE,OAAe;QACjD,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAI,CAAC,GAAgB,EAAE,IAAY;QACjC,MAAM,GAAG,GAAiB;YACxB,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC7B,WAAW,EAAE,SAAS;SACvB,CAAA;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;CACF","sourcesContent":["import { BaseContext } from './base-context.js'\nimport { ExportResult } from '@sentio/protos'\nimport { NamedResultDescriptor } from './metadata.js'\nimport { MapStateStorage } from '@sentio/runtime'\n\nexport type Export = Record<string, any>\n\nexport class ExporterState extends MapStateStorage<Exporter> {\n static INSTANCE = new ExporterState()\n}\n\nexport class Exporter extends NamedResultDescriptor {\n static register(name: string, channel: string) {\n const exporter = new Exporter(name, channel)\n return ExporterState.INSTANCE.getOrSetValue(name, exporter)\n }\n\n channel: string\n protected constructor(name: string, channel: string) {\n super(name)\n this.channel = channel\n }\n\n emit(ctx: BaseContext, data: Export) {\n const res: ExportResult = {\n metadata: ctx.getMetaData(this.name, {}),\n payload: JSON.stringify(data),\n runtimeInfo: undefined,\n }\n ctx._res.exports.push(res)\n }\n}\n"]}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../src/core/exporter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAIjD,MAAa,aAAc,SAAQ,eAAyB;IAC1D,MAAM,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;;SAD1B,aAAa;AAI1B,MAAM,OAAO,QAAS,SAAQ,qBAAqB;IACjD,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAe;QAC3C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5C,OAAO,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,CAAQ;IACf,YAAsB,IAAY,EAAE,OAAe;QACjD,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAI,CAAC,GAAgB,EAAE,IAAY;QACjC,MAAM,GAAG,GAAiB;YACxB,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC7B,WAAW,EAAE,SAAS;SACvB,CAAA;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;CACF","sourcesContent":["import { BaseContext } from './base-context.js'\nimport { ExportResult } from '@sentio/protos'\nimport { NamedResultDescriptor } from './metadata.js'\nimport { MapStateStorage } from '@sentio/runtime'\n\nexport type Export = Record<string, any>\n\nexport class ExporterState extends MapStateStorage<Exporter> {\n static INSTANCE = new ExporterState()\n}\n\nexport class Exporter extends NamedResultDescriptor {\n static register(name: string, channel: string) {\n const exporter = new Exporter(name, channel)\n return ExporterState.INSTANCE.getOrSetValue(name, exporter)\n }\n\n channel: string\n protected constructor(name: string, channel: string) {\n super(name)\n this.channel = channel\n }\n\n emit(ctx: BaseContext, data: Export) {\n const res: ExportResult = {\n metadata: ctx.getMetaData(this.name, {}),\n payload: JSON.stringify(data),\n runtimeInfo: undefined,\n }\n ctx._res.exports.push(res)\n }\n}\n"]}
package/lib/core/meter.js CHANGED
@@ -34,7 +34,7 @@ export class Metric extends NamedResultDescriptor {
34
34
  }
35
35
  }
36
36
  }
37
- export class MetricState extends MapStateStorage {
37
+ class MetricState extends MapStateStorage {
38
38
  static INSTANCE = new MetricState();
39
39
  getOrRegisterMetric(type, name, option) {
40
40
  const metricMap = this.getOrRegister();
@@ -54,6 +54,7 @@ export class MetricState extends MapStateStorage {
54
54
  return metric;
55
55
  }
56
56
  }
57
+ export { MetricState };
57
58
  export class Counter extends Metric {
58
59
  static register(name, option) {
59
60
  return MetricState.INSTANCE.getOrRegisterMetric(MetricType.COUNTER, name, option);
@@ -1 +1 @@
1
- {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseContext } from './base-context.js'\nimport { Numberish, toMetricValue } from './numberish.js'\nimport { NamedResultDescriptor } from './metadata.js'\nimport { AggregationConfig, AggregationType, MetricConfig, MetricType } from '@sentio/protos'\nimport { MapStateStorage } from '@sentio/runtime'\n\nexport type Labels = { [key: string]: string }\n\nexport class MetricOptions {\n unit?: string\n description?: string\n sparse?: boolean\n persistentBetweenVersion?: boolean\n aggregationConfig?: Partial<AggregationConfig>\n}\n\nexport class CounterOptions {\n unit?: string\n description?: string\n sparse?: boolean\n}\n\n// enum MetricType {\n// Counter = 0,\n// Gauge = 1,\n// }\n\nexport class Metric extends NamedResultDescriptor {\n config: MetricConfig\n constructor(type: MetricType, name: string, option?: MetricOptions) {\n super(name)\n this.config = MetricConfig.fromPartial({ name: this.name, type: type, ...option })\n const aggregationConfig = this.config.aggregationConfig\n if (aggregationConfig && aggregationConfig.intervalInMinutes.length) {\n if (aggregationConfig.intervalInMinutes.length > 1) {\n console.error('current only support one intervalInMinutes, only first interval will be used for', name)\n }\n if (aggregationConfig.intervalInMinutes[0] > 0 && aggregationConfig.types.length === 0) {\n aggregationConfig.types = [AggregationType.SUM, AggregationType.COUNT]\n }\n }\n }\n}\n\nexport class MetricState extends MapStateStorage<Metric> {\n static INSTANCE = new MetricState()\n\n getOrRegisterMetric(type: MetricType, name: string, option?: CounterOptions | MetricOptions): Metric {\n const metricMap = this.getOrRegister()\n let metric = metricMap.get(name)\n if (metric && metric.config.type !== type) {\n throw Error(`redefine ${name} of metric type ${type} that is previously ${metric.config.type}`)\n }\n\n if (!metric) {\n if (type === MetricType.COUNTER) {\n metric = Counter._create(name, option)\n } else {\n metric = Gauge._create(name, option)\n }\n }\n metricMap.set(name, metric)\n return metric\n }\n}\n\nexport class Counter extends Metric {\n static register(name: string, option?: CounterOptions): Counter {\n return MetricState.INSTANCE.getOrRegisterMetric(MetricType.COUNTER, name, option) as Counter\n }\n\n /**\n * internal use only, to create a metric use {@link register} instead\n */\n static _create(name: string, option?: MetricOptions): Counter {\n return new Counter(name, option)\n }\n\n private constructor(name: string, option?: MetricOptions) {\n super(MetricType.COUNTER, name, option)\n }\n\n add(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, true)\n }\n\n sub(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, false)\n }\n\n private record(ctx: BaseContext, value: Numberish, labels: Labels, add: boolean) {\n ctx._res.counters.push({\n metadata: ctx.getMetaData(this.name, labels),\n metricValue: toMetricValue(value),\n add: add,\n runtimeInfo: undefined,\n })\n }\n}\n\nexport class CounterBinding {\n private readonly ctx: BaseContext\n private readonly counter: Counter\n\n constructor(name: string, ctx: BaseContext) {\n this.counter = Counter._create(name)\n this.ctx = ctx\n }\n\n add(value: Numberish, labels: Labels = {}) {\n this.counter.add(this.ctx, value, labels)\n }\n\n sub(value: Numberish, labels: Labels = {}) {\n this.counter.sub(this.ctx, value, labels)\n }\n}\n\nexport class Gauge extends Metric {\n static register(name: string, option?: MetricOptions): Gauge {\n return MetricState.INSTANCE.getOrRegisterMetric(MetricType.GAUGE, name, option) as Gauge\n }\n\n /**\n * internal use only, to create a metric use {@link register} instead\n */\n static _create(name: string, option?: MetricOptions): Gauge {\n return new Gauge(name, option)\n }\n\n private constructor(name: string, option?: MetricOptions) {\n super(MetricType.GAUGE, name, option)\n }\n\n record(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n ctx._res.gauges.push({\n metadata: ctx.getMetaData(this.config.name, labels),\n metricValue: toMetricValue(value),\n runtimeInfo: undefined,\n })\n }\n}\n\nexport class GaugeBinding {\n private readonly gauge: Gauge\n private readonly ctx: BaseContext\n\n constructor(name: string, ctx: BaseContext) {\n this.gauge = Gauge._create(name)\n this.ctx = ctx\n }\n\n record(value: Numberish, labels: Labels = {}) {\n this.gauge.record(this.ctx, value, labels)\n }\n}\n\nexport class Meter {\n private readonly ctx: BaseContext\n\n constructor(ctx: BaseContext) {\n this.ctx = ctx\n }\n\n Counter(name: string): CounterBinding {\n return new CounterBinding(name, this.ctx)\n }\n\n Gauge(name: string): GaugeBinding {\n return new GaugeBinding(name, this.ctx)\n }\n}\n"]}
1
+ {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseContext } from './base-context.js'\nimport { Numberish, toMetricValue } from './numberish.js'\nimport { NamedResultDescriptor } from './metadata.js'\nimport { AggregationConfig, AggregationType, MetricConfig, MetricType } from '@sentio/protos'\nimport { MapStateStorage } from '@sentio/runtime'\n\nexport type Labels = { [key: string]: string }\n\nexport class MetricOptions {\n unit?: string\n description?: string\n sparse?: boolean\n persistentBetweenVersion?: boolean\n aggregationConfig?: Partial<AggregationConfig>\n}\n\nexport class CounterOptions {\n unit?: string\n description?: string\n sparse?: boolean\n}\n\n// enum MetricType {\n// Counter = 0,\n// Gauge = 1,\n// }\n\nexport class Metric extends NamedResultDescriptor {\n config: MetricConfig\n constructor(type: MetricType, name: string, option?: MetricOptions) {\n super(name)\n this.config = MetricConfig.fromPartial({ name: this.name, type: type, ...option })\n const aggregationConfig = this.config.aggregationConfig\n if (aggregationConfig && aggregationConfig.intervalInMinutes.length) {\n if (aggregationConfig.intervalInMinutes.length > 1) {\n console.error('current only support one intervalInMinutes, only first interval will be used for', name)\n }\n if (aggregationConfig.intervalInMinutes[0] > 0 && aggregationConfig.types.length === 0) {\n aggregationConfig.types = [AggregationType.SUM, AggregationType.COUNT]\n }\n }\n }\n}\n\nexport class MetricState extends MapStateStorage<Metric> {\n static INSTANCE = new MetricState()\n\n getOrRegisterMetric(type: MetricType, name: string, option?: CounterOptions | MetricOptions): Metric {\n const metricMap = this.getOrRegister()\n let metric = metricMap.get(name)\n if (metric && metric.config.type !== type) {\n throw Error(`redefine ${name} of metric type ${type} that is previously ${metric.config.type}`)\n }\n\n if (!metric) {\n if (type === MetricType.COUNTER) {\n metric = Counter._create(name, option)\n } else {\n metric = Gauge._create(name, option)\n }\n }\n metricMap.set(name, metric)\n return metric\n }\n}\n\nexport class Counter extends Metric {\n static register(name: string, option?: CounterOptions): Counter {\n return MetricState.INSTANCE.getOrRegisterMetric(MetricType.COUNTER, name, option) as Counter\n }\n\n /**\n * internal use only, to create a metric use {@link register} instead\n */\n static _create(name: string, option?: MetricOptions): Counter {\n return new Counter(name, option)\n }\n\n private constructor(name: string, option?: MetricOptions) {\n super(MetricType.COUNTER, name, option)\n }\n\n add(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, true)\n }\n\n sub(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, false)\n }\n\n private record(ctx: BaseContext, value: Numberish, labels: Labels, add: boolean) {\n ctx._res.counters.push({\n metadata: ctx.getMetaData(this.name, labels),\n metricValue: toMetricValue(value),\n add: add,\n runtimeInfo: undefined,\n })\n }\n}\n\nexport class CounterBinding {\n private readonly ctx: BaseContext\n private readonly counter: Counter\n\n constructor(name: string, ctx: BaseContext) {\n this.counter = Counter._create(name)\n this.ctx = ctx\n }\n\n add(value: Numberish, labels: Labels = {}) {\n this.counter.add(this.ctx, value, labels)\n }\n\n sub(value: Numberish, labels: Labels = {}) {\n this.counter.sub(this.ctx, value, labels)\n }\n}\n\nexport class Gauge extends Metric {\n static register(name: string, option?: MetricOptions): Gauge {\n return MetricState.INSTANCE.getOrRegisterMetric(MetricType.GAUGE, name, option) as Gauge\n }\n\n /**\n * internal use only, to create a metric use {@link register} instead\n */\n static _create(name: string, option?: MetricOptions): Gauge {\n return new Gauge(name, option)\n }\n\n private constructor(name: string, option?: MetricOptions) {\n super(MetricType.GAUGE, name, option)\n }\n\n record(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n ctx._res.gauges.push({\n metadata: ctx.getMetaData(this.config.name, labels),\n metricValue: toMetricValue(value),\n runtimeInfo: undefined,\n })\n }\n}\n\nexport class GaugeBinding {\n private readonly gauge: Gauge\n private readonly ctx: BaseContext\n\n constructor(name: string, ctx: BaseContext) {\n this.gauge = Gauge._create(name)\n this.ctx = ctx\n }\n\n record(value: Numberish, labels: Labels = {}) {\n this.gauge.record(this.ctx, value, labels)\n }\n}\n\nexport class Meter {\n private readonly ctx: BaseContext\n\n constructor(ctx: BaseContext) {\n this.ctx = ctx\n }\n\n Counter(name: string): CounterBinding {\n return new CounterBinding(name, this.ctx)\n }\n\n Gauge(name: string): GaugeBinding {\n return new GaugeBinding(name, this.ctx)\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { ListStateStorage } from '@sentio/runtime';
2
- export class AccountProcessorState extends ListStateStorage {
2
+ class AccountProcessorState extends ListStateStorage {
3
3
  static INSTANCE = new AccountProcessorState();
4
4
  }
5
+ export { AccountProcessorState };
5
6
  //# sourceMappingURL=account-processor-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-processor-state.js","sourceRoot":"","sources":["../../src/eth/account-processor-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAGlD,MAAM,OAAO,qBAAsB,SAAQ,gBAAkC;IAC3E,MAAM,CAAC,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAA","sourcesContent":["import { ListStateStorage } from '@sentio/runtime'\nimport { AccountProcessor } from './account-processor.js'\n\nexport class AccountProcessorState extends ListStateStorage<AccountProcessor> {\n static INSTANCE = new AccountProcessorState()\n}\n"]}
1
+ {"version":3,"file":"account-processor-state.js","sourceRoot":"","sources":["../../src/eth/account-processor-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAGlD,MAAa,qBAAsB,SAAQ,gBAAkC;IAC3E,MAAM,CAAC,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAA;;SADlC,qBAAqB","sourcesContent":["import { ListStateStorage } from '@sentio/runtime'\nimport { AccountProcessor } from './account-processor.js'\n\nexport class AccountProcessorState extends ListStateStorage<AccountProcessor> {\n static INSTANCE = new AccountProcessorState()\n}\n"]}
@@ -2,12 +2,14 @@ import { getOptionsSignature } from './bind-options.js';
2
2
  import { EthFetchConfig } from '@sentio/protos';
3
3
  import { ListStateStorage } from '@sentio/runtime';
4
4
  import { getNetworkFromCtxOrNetworkish } from './provider.js';
5
- export class ProcessorTemplateProcessorState extends ListStateStorage {
5
+ class ProcessorTemplateProcessorState extends ListStateStorage {
6
6
  static INSTANCE = new ProcessorTemplateProcessorState();
7
7
  }
8
- export class TemplateInstanceState extends ListStateStorage {
8
+ export { ProcessorTemplateProcessorState };
9
+ class TemplateInstanceState extends ListStateStorage {
9
10
  static INSTANCE = new TemplateInstanceState();
10
11
  }
12
+ export { TemplateInstanceState };
11
13
  export class BaseProcessorTemplate {
12
14
  id;
13
15
  binds = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"base-processor-template.js","sourceRoot":"","sources":["../../src/eth/base-processor-template.ts"],"names":[],"mappings":"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","sourcesContent":["import { BoundContractView, ContractContext, ContractView } from './context.js'\nimport { BaseContract } from 'ethers'\nimport { BaseProcessor } from './base-processor.js'\nimport { BindOptions, getOptionsSignature } from './bind-options.js'\nimport { EthFetchConfig, HandleInterval, TemplateInstance } from '@sentio/protos'\nimport { PromiseOrVoid } from '../promise-or-void.js'\nimport { Trace } from './trace.js'\nimport { ListStateStorage } from '@sentio/runtime'\nimport { BlockParams } from 'ethers/providers'\nimport { DeferredTopicFilter } from 'ethers/contract'\nimport { EthEvent } from './eth.js'\nimport { getNetworkFromCtxOrNetworkish } from './provider.js'\n\nexport class ProcessorTemplateProcessorState extends ListStateStorage<\n BaseProcessorTemplate<BaseContract, BoundContractView<BaseContract, any>>\n> {\n static INSTANCE = new ProcessorTemplateProcessorState()\n}\n\nexport class TemplateInstanceState extends ListStateStorage<TemplateInstance> {\n static INSTANCE = new TemplateInstanceState()\n}\n\nexport abstract class BaseProcessorTemplate<\n TContract extends BaseContract,\n TBoundContractView extends BoundContractView<TContract, ContractView<TContract>>\n> {\n id: number\n binds = new Set<string>()\n blockHandlers: {\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n blockInterval?: HandleInterval\n timeIntervalInMinutes?: HandleInterval\n }[] = []\n traceHandlers: {\n signature: string\n handler: (trace: Trace, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n fetchConfig?: EthFetchConfig\n }[] = []\n eventHandlers: {\n handler: (event: EthEvent, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n filter: DeferredTopicFilter | DeferredTopicFilter[]\n fetchConfig?: EthFetchConfig\n }[] = []\n\n constructor() {\n this.id = ProcessorTemplateProcessorState.INSTANCE.getValues().length\n ProcessorTemplateProcessorState.INSTANCE.addValue(this)\n }\n\n public bind(options: BindOptions) {\n const sig = getOptionsSignature(options)\n if (this.binds.has(sig)) {\n return\n }\n this.binds.add(sig)\n\n const processor = this.bindInternal(options)\n\n for (const eh of this.eventHandlers) {\n processor.onEvent(eh.handler, eh.filter, eh.fetchConfig)\n }\n for (const th of this.traceHandlers) {\n processor.onTrace(th.signature, th.handler, th.fetchConfig)\n }\n for (const bh of this.blockHandlers) {\n processor.onInterval(bh.handler, bh.timeIntervalInMinutes, bh.blockInterval)\n }\n\n const instance: TemplateInstance = {\n templateId: this.id,\n contract: {\n address: options.address,\n name: options.name || '',\n chainId: getNetworkFromCtxOrNetworkish(options.network).chainId.toString(),\n abi: '',\n },\n startBlock: 0n,\n endBlock: 0n,\n }\n if (options.startBlock) {\n instance.startBlock = BigInt(options.startBlock)\n }\n if (options.endBlock) {\n instance.endBlock = BigInt(options.endBlock)\n }\n TemplateInstanceState.INSTANCE.addValue(instance)\n return processor\n }\n\n public onEvent(\n handler: (event: EthEvent, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n filter: DeferredTopicFilter | DeferredTopicFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n this.eventHandlers.push({\n handler: handler,\n filter: filter,\n fetchConfig: EthFetchConfig.fromPartial(fetchConfig || {}),\n })\n return this\n }\n\n public onBlockInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n blockInterval = 1000,\n backfillBlockInterval = 4000\n ) {\n return this.onInterval(handler, undefined, {\n recentInterval: blockInterval,\n backfillInterval: backfillBlockInterval,\n })\n }\n\n public onTimeInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n timeIntervalInMinutes = 60,\n backfillBlockInterval = 240\n ) {\n return this.onInterval(\n handler,\n { recentInterval: timeIntervalInMinutes, backfillInterval: backfillBlockInterval },\n undefined\n )\n }\n\n public onInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n timeInterval: HandleInterval | undefined,\n blockInterval: HandleInterval | undefined\n ) {\n this.blockHandlers.push({ handler, timeIntervalInMinutes: timeInterval, blockInterval: blockInterval })\n return this\n }\n\n public onTrace(\n signature: string,\n handler: (trace: Trace, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n this.traceHandlers.push({ signature, handler, fetchConfig: EthFetchConfig.fromPartial(fetchConfig || {}) })\n return this\n }\n\n protected abstract bindInternal(options: BindOptions): BaseProcessor<TContract, TBoundContractView>\n}\n"]}
1
+ {"version":3,"file":"base-processor-template.js","sourceRoot":"","sources":["../../src/eth/base-processor-template.ts"],"names":[],"mappings":"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","sourcesContent":["import { BoundContractView, ContractContext, ContractView } from './context.js'\nimport { BaseContract } from 'ethers'\nimport { BaseProcessor } from './base-processor.js'\nimport { BindOptions, getOptionsSignature } from './bind-options.js'\nimport { EthFetchConfig, HandleInterval, TemplateInstance } from '@sentio/protos'\nimport { PromiseOrVoid } from '../promise-or-void.js'\nimport { Trace } from './trace.js'\nimport { ListStateStorage } from '@sentio/runtime'\nimport { BlockParams } from 'ethers/providers'\nimport { DeferredTopicFilter } from 'ethers/contract'\nimport { EthEvent } from './eth.js'\nimport { getNetworkFromCtxOrNetworkish } from './provider.js'\n\nexport class ProcessorTemplateProcessorState extends ListStateStorage<\n BaseProcessorTemplate<BaseContract, BoundContractView<BaseContract, any>>\n> {\n static INSTANCE = new ProcessorTemplateProcessorState()\n}\n\nexport class TemplateInstanceState extends ListStateStorage<TemplateInstance> {\n static INSTANCE = new TemplateInstanceState()\n}\n\nexport abstract class BaseProcessorTemplate<\n TContract extends BaseContract,\n TBoundContractView extends BoundContractView<TContract, ContractView<TContract>>\n> {\n id: number\n binds = new Set<string>()\n blockHandlers: {\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n blockInterval?: HandleInterval\n timeIntervalInMinutes?: HandleInterval\n }[] = []\n traceHandlers: {\n signature: string\n handler: (trace: Trace, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n fetchConfig?: EthFetchConfig\n }[] = []\n eventHandlers: {\n handler: (event: EthEvent, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid\n filter: DeferredTopicFilter | DeferredTopicFilter[]\n fetchConfig?: EthFetchConfig\n }[] = []\n\n constructor() {\n this.id = ProcessorTemplateProcessorState.INSTANCE.getValues().length\n ProcessorTemplateProcessorState.INSTANCE.addValue(this)\n }\n\n public bind(options: BindOptions) {\n const sig = getOptionsSignature(options)\n if (this.binds.has(sig)) {\n return\n }\n this.binds.add(sig)\n\n const processor = this.bindInternal(options)\n\n for (const eh of this.eventHandlers) {\n processor.onEvent(eh.handler, eh.filter, eh.fetchConfig)\n }\n for (const th of this.traceHandlers) {\n processor.onTrace(th.signature, th.handler, th.fetchConfig)\n }\n for (const bh of this.blockHandlers) {\n processor.onInterval(bh.handler, bh.timeIntervalInMinutes, bh.blockInterval)\n }\n\n const instance: TemplateInstance = {\n templateId: this.id,\n contract: {\n address: options.address,\n name: options.name || '',\n chainId: getNetworkFromCtxOrNetworkish(options.network).chainId.toString(),\n abi: '',\n },\n startBlock: 0n,\n endBlock: 0n,\n }\n if (options.startBlock) {\n instance.startBlock = BigInt(options.startBlock)\n }\n if (options.endBlock) {\n instance.endBlock = BigInt(options.endBlock)\n }\n TemplateInstanceState.INSTANCE.addValue(instance)\n return processor\n }\n\n public onEvent(\n handler: (event: EthEvent, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n filter: DeferredTopicFilter | DeferredTopicFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n this.eventHandlers.push({\n handler: handler,\n filter: filter,\n fetchConfig: EthFetchConfig.fromPartial(fetchConfig || {}),\n })\n return this\n }\n\n public onBlockInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n blockInterval = 1000,\n backfillBlockInterval = 4000\n ) {\n return this.onInterval(handler, undefined, {\n recentInterval: blockInterval,\n backfillInterval: backfillBlockInterval,\n })\n }\n\n public onTimeInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n timeIntervalInMinutes = 60,\n backfillBlockInterval = 240\n ) {\n return this.onInterval(\n handler,\n { recentInterval: timeIntervalInMinutes, backfillInterval: backfillBlockInterval },\n undefined\n )\n }\n\n public onInterval(\n handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n timeInterval: HandleInterval | undefined,\n blockInterval: HandleInterval | undefined\n ) {\n this.blockHandlers.push({ handler, timeIntervalInMinutes: timeInterval, blockInterval: blockInterval })\n return this\n }\n\n public onTrace(\n signature: string,\n handler: (trace: Trace, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,\n fetchConfig?: Partial<EthFetchConfig>\n ) {\n this.traceHandlers.push({ signature, handler, fetchConfig: EthFetchConfig.fromPartial(fetchConfig || {}) })\n return this\n }\n\n protected abstract bindInternal(options: BindOptions): BaseProcessor<TContract, TBoundContractView>\n}\n"]}
package/lib/eth/binds.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { getOptionsSignature } from './bind-options.js';
2
2
  import { MapStateStorage } from '@sentio/runtime';
3
3
  import { getNetworkFromCtxOrNetworkish } from './provider.js';
4
- export class ProcessorState extends MapStateStorage {
4
+ class ProcessorState extends MapStateStorage {
5
5
  static INSTANCE = new ProcessorState();
6
6
  }
7
+ export { ProcessorState };
7
8
  // from abiName_address_chainId => contract wrapper
8
9
  const contracts = new Map();
9
10
  function getKey(abiName, address, network) {
@@ -1 +1 @@
1
- {"version":3,"file":"binds.js","sourceRoot":"","sources":["../../src/eth/binds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAMpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAE7D,MAAM,OAAO,cAAe,SAAQ,eAAwC;IAC1E,MAAM,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAA;;AAGxC,mDAAmD;AACnD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsC,CAAA;AAE/D,SAAS,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACnE,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;IACzE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,YAAY,CAAC,IAAiB;IAC5C,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAiB,EAAE,SAAkC;IAChF,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAErC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACpF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,OAAe,EACf,OAAmB,EACnB,QAAoC;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACrC,CAAC","sourcesContent":["import { BindOptions, getOptionsSignature } from './bind-options.js'\nimport { ContractView } from './context.js'\nimport { BaseProcessor } from './base-processor.js'\nimport { Networkish } from 'ethers/providers'\n\nimport { BaseContract } from 'ethers'\nimport { MapStateStorage } from '@sentio/runtime'\nimport { getNetworkFromCtxOrNetworkish } from './provider.js'\n\nexport class ProcessorState extends MapStateStorage<BaseProcessor<any, any>> {\n static INSTANCE = new ProcessorState()\n}\n\n// from abiName_address_chainId => contract wrapper\nconst contracts = new Map<string, ContractView<BaseContract>>()\n\nfunction getKey(abiName: string, address: string, network: Networkish) {\n const chainId = getNetworkFromCtxOrNetworkish(network).chainId.toString()\n return [abiName, address.toLowerCase(), chainId].join('_')\n}\n\n// Dedup processor that bind multiple times\nexport function getProcessor(opts: BindOptions) {\n const sig = getOptionsSignature(opts)\n return ProcessorState.INSTANCE.getValue(sig)\n}\n\nexport function addProcessor(opts: BindOptions, processor: BaseProcessor<any, any>) {\n const sig = getOptionsSignature(opts)\n\n ProcessorState.INSTANCE.getOrSetValue(sig, processor)\n}\n\nexport function getContractByABI(abiName: string, address: string, network: Networkish) {\n const key = getKey(abiName, address, network)\n return contracts.get(key)\n}\n\nexport function addContractByABI(\n abiName: string,\n address: string,\n network: Networkish,\n contract: ContractView<BaseContract>\n) {\n const key = getKey(abiName, address, network)\n return contracts.set(key, contract)\n}\n"]}
1
+ {"version":3,"file":"binds.js","sourceRoot":"","sources":["../../src/eth/binds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAMpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAE7D,MAAa,cAAe,SAAQ,eAAwC;IAC1E,MAAM,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAA;;SAD3B,cAAc;AAI3B,mDAAmD;AACnD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsC,CAAA;AAE/D,SAAS,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACnE,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;IACzE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,YAAY,CAAC,IAAiB;IAC5C,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAiB,EAAE,SAAkC;IAChF,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAErC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACpF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,OAAe,EACf,OAAmB,EACnB,QAAoC;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACrC,CAAC","sourcesContent":["import { BindOptions, getOptionsSignature } from './bind-options.js'\nimport { ContractView } from './context.js'\nimport { BaseProcessor } from './base-processor.js'\nimport { Networkish } from 'ethers/providers'\n\nimport { BaseContract } from 'ethers'\nimport { MapStateStorage } from '@sentio/runtime'\nimport { getNetworkFromCtxOrNetworkish } from './provider.js'\n\nexport class ProcessorState extends MapStateStorage<BaseProcessor<any, any>> {\n static INSTANCE = new ProcessorState()\n}\n\n// from abiName_address_chainId => contract wrapper\nconst contracts = new Map<string, ContractView<BaseContract>>()\n\nfunction getKey(abiName: string, address: string, network: Networkish) {\n const chainId = getNetworkFromCtxOrNetworkish(network).chainId.toString()\n return [abiName, address.toLowerCase(), chainId].join('_')\n}\n\n// Dedup processor that bind multiple times\nexport function getProcessor(opts: BindOptions) {\n const sig = getOptionsSignature(opts)\n return ProcessorState.INSTANCE.getValue(sig)\n}\n\nexport function addProcessor(opts: BindOptions, processor: BaseProcessor<any, any>) {\n const sig = getOptionsSignature(opts)\n\n ProcessorState.INSTANCE.getOrSetValue(sig, processor)\n}\n\nexport function getContractByABI(abiName: string, address: string, network: Networkish) {\n const key = getKey(abiName, address, network)\n return contracts.get(key)\n}\n\nexport function addContractByABI(\n abiName: string,\n address: string,\n network: Networkish,\n contract: ContractView<BaseContract>\n) {\n const key = getKey(abiName, address, network)\n return contracts.set(key, contract)\n}\n"]}
@@ -296,7 +296,7 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView {
296
296
  return await this.view.version(overrides || {});
297
297
  }
298
298
  }
299
- export class EACAggregatorProxyProcessor extends BaseProcessor {
299
+ class EACAggregatorProxyProcessor extends BaseProcessor {
300
300
  onEventAnswerUpdated(handler, filter, fetchConfig) {
301
301
  if (!filter) {
302
302
  filter = templateContract.filters["AnswerUpdated(int256,uint256,uint256)"](null, null, null);
@@ -420,6 +420,7 @@ export class EACAggregatorProxyProcessor extends BaseProcessor {
420
420
  return processor;
421
421
  }
422
422
  }
423
+ export { EACAggregatorProxyProcessor };
423
424
  export class EACAggregatorProxyProcessorTemplate extends BaseProcessorTemplate {
424
425
  bindInternal(options) {
425
426
  if (!options.name) {