@bitgo-beta/sdk-coin-starknet 0.0.1-beta.2 → 0.0.1-beta.200

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 (53) hide show
  1. package/dist/src/lib/constants.d.ts +11 -0
  2. package/dist/src/lib/constants.d.ts.map +1 -1
  3. package/dist/src/lib/constants.js +24 -2
  4. package/dist/src/lib/iface.d.ts +51 -0
  5. package/dist/src/lib/iface.d.ts.map +1 -1
  6. package/dist/src/lib/iface.js +1 -1
  7. package/dist/src/lib/index.d.ts +2 -0
  8. package/dist/src/lib/index.d.ts.map +1 -1
  9. package/dist/src/lib/index.js +6 -2
  10. package/dist/src/lib/transaction.d.ts +6 -1
  11. package/dist/src/lib/transaction.d.ts.map +1 -1
  12. package/dist/src/lib/transaction.js +102 -12
  13. package/dist/src/lib/transactionBuilder.d.ts +5 -1
  14. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  15. package/dist/src/lib/transactionBuilder.js +37 -4
  16. package/dist/src/lib/transactionBuilderFactory.d.ts +4 -1
  17. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  18. package/dist/src/lib/transactionBuilderFactory.js +20 -4
  19. package/dist/src/lib/transferBuilder.d.ts +2 -0
  20. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  21. package/dist/src/lib/transferBuilder.js +11 -2
  22. package/dist/src/lib/udcDeployBuilder.d.ts +30 -0
  23. package/dist/src/lib/udcDeployBuilder.d.ts.map +1 -0
  24. package/dist/src/lib/udcDeployBuilder.js +117 -0
  25. package/dist/src/lib/utils.d.ts +34 -1
  26. package/dist/src/lib/utils.d.ts.map +1 -1
  27. package/dist/src/lib/utils.js +158 -1
  28. package/dist/src/lib/walletInitializationBuilder.d.ts +26 -0
  29. package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  30. package/dist/src/lib/walletInitializationBuilder.js +117 -0
  31. package/dist/src/starknet.d.ts +8 -1
  32. package/dist/src/starknet.d.ts.map +1 -1
  33. package/dist/src/starknet.js +17 -3
  34. package/dist/test/resources/starknet.d.ts +45 -0
  35. package/dist/test/resources/starknet.d.ts.map +1 -1
  36. package/dist/test/resources/starknet.js +31 -2
  37. package/dist/test/unit/starknet.js +42 -1
  38. package/dist/test/unit/transaction.js +28 -3
  39. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +7 -1
  40. package/dist/test/unit/transferBuilder.d.ts +2 -0
  41. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  42. package/dist/test/unit/transferBuilder.js +229 -0
  43. package/dist/test/unit/udcDeployBuilder.d.ts +2 -0
  44. package/dist/test/unit/udcDeployBuilder.d.ts.map +1 -0
  45. package/dist/test/unit/udcDeployBuilder.js +182 -0
  46. package/dist/test/unit/utils.d.ts +1 -1
  47. package/dist/test/unit/utils.d.ts.map +1 -1
  48. package/dist/test/unit/utils.js +282 -3
  49. package/dist/test/unit/walletInitializationBuilder.d.ts +2 -0
  50. package/dist/test/unit/walletInitializationBuilder.d.ts.map +1 -0
  51. package/dist/test/unit/walletInitializationBuilder.js +123 -0
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/package.json +8 -8
@@ -1,8 +1,19 @@
1
+ import { StarknetResourceBounds } from './iface';
1
2
  export declare const OZ_ETH_ACCOUNT_CLASS_HASH = "0x3940bc18abf1df6bc540cabadb1cad9486c6803b95801e57b6153ae21abfe06";
2
3
  export declare const STRK_TOKEN_CONTRACT = "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d";
4
+ export declare const UDC_ADDRESS = "0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf";
5
+ export declare const UDC_DEPLOY_ENTRYPOINT = "deployContract";
3
6
  export declare const FELT_MAX: bigint;
4
7
  export declare const MASK_128: bigint;
5
8
  export declare const ADDR_BOUND: bigint;
6
9
  export declare const CONTRACT_ADDRESS_PREFIX = 523065374597054866729014270389667305596563390979550329787219n;
7
10
  export declare const DEFAULT_SEED_SIZE_BYTES = 16;
11
+ export declare const INVOKE_TX_PREFIX = 115923154332517n;
12
+ export declare const DEPLOY_ACCOUNT_TX_PREFIX = 2036277798190617858034555652763252n;
13
+ export declare const TRANSACTION_VERSION_3 = 3n;
14
+ export declare const L1_GAS_NAME = 83774935613779n;
15
+ export declare const L2_GAS_NAME = 83779230581075n;
16
+ export declare const L1_DATA_GAS_NAME = 21446383466796097n;
17
+ /** Default v3 resource bounds (matches TransactionBuilder defaults). */
18
+ export declare function defaultResourceBounds(): StarknetResourceBounds;
8
19
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,yBAAyB,sEAAsE,CAAC;AAG7G,eAAO,MAAM,mBAAmB,uEAAuE,CAAC;AAGxG,eAAO,MAAM,QAAQ,QAAyC,CAAC;AAG/D,eAAO,MAAM,QAAQ,QAAoB,CAAC;AAG1C,eAAO,MAAM,UAAU,QAAoB,CAAC;AAG5C,eAAO,MAAM,uBAAuB,gEAAwD,CAAC;AAE7F,eAAO,MAAM,uBAAuB,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGjD,eAAO,MAAM,yBAAyB,sEAAsE,CAAC;AAG7G,eAAO,MAAM,mBAAmB,uEAAuE,CAAC;AAGxG,eAAO,MAAM,WAAW,uEAAuE,CAAC;AAChG,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAGtD,eAAO,MAAM,QAAQ,QAAyC,CAAC;AAG/D,eAAO,MAAM,QAAQ,QAAoB,CAAC;AAG1C,eAAO,MAAM,UAAU,QAAoB,CAAC;AAG5C,eAAO,MAAM,uBAAuB,gEAAwD,CAAC;AAE7F,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAG1C,eAAO,MAAM,gBAAgB,mBAAkB,CAAC;AAGhD,eAAO,MAAM,wBAAwB,sCAAkC,CAAC;AAGxE,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAGxC,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,gBAAgB,qBAAoB,CAAC;AAElD,wEAAwE;AACxE,wBAAgB,qBAAqB,IAAI,sBAAsB,CAM9D"}
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_SEED_SIZE_BYTES = exports.CONTRACT_ADDRESS_PREFIX = exports.ADDR_BOUND = exports.MASK_128 = exports.FELT_MAX = exports.STRK_TOKEN_CONTRACT = exports.OZ_ETH_ACCOUNT_CLASS_HASH = void 0;
3
+ exports.L1_DATA_GAS_NAME = exports.L2_GAS_NAME = exports.L1_GAS_NAME = exports.TRANSACTION_VERSION_3 = exports.DEPLOY_ACCOUNT_TX_PREFIX = exports.INVOKE_TX_PREFIX = exports.DEFAULT_SEED_SIZE_BYTES = exports.CONTRACT_ADDRESS_PREFIX = exports.ADDR_BOUND = exports.MASK_128 = exports.FELT_MAX = exports.UDC_DEPLOY_ENTRYPOINT = exports.UDC_ADDRESS = exports.STRK_TOKEN_CONTRACT = exports.OZ_ETH_ACCOUNT_CLASS_HASH = void 0;
4
+ exports.defaultResourceBounds = defaultResourceBounds;
4
5
  // OZ EthAccountUpgradeable class hash (v0.17.0) — secp256k1 signature verification
5
6
  exports.OZ_ETH_ACCOUNT_CLASS_HASH = '0x3940bc18abf1df6bc540cabadb1cad9486c6803b95801e57b6153ae21abfe06';
6
7
  // STRK token contract (same on both mainnet and sepolia)
7
8
  exports.STRK_TOKEN_CONTRACT = '0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d';
9
+ // UDC — same address on mainnet and Sepolia
10
+ exports.UDC_ADDRESS = '0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf';
11
+ exports.UDC_DEPLOY_ENTRYPOINT = 'deployContract';
8
12
  // felt252 max value (2^251 + 17 * 2^192 + 1)
9
13
  exports.FELT_MAX = (1n << 251n) + 17n * (1n << 192n) + 1n;
10
14
  // u256 split mask (128 bits)
@@ -14,4 +18,22 @@ exports.ADDR_BOUND = 2n ** 251n - 256n;
14
18
  // encodeShortString('STARKNET_CONTRACT_ADDRESS')
15
19
  exports.CONTRACT_ADDRESS_PREFIX = 0x535441524b4e45545f434f4e54524143545f41444452455353n;
16
20
  exports.DEFAULT_SEED_SIZE_BYTES = 16;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUZBQW1GO0FBQ3RFLFFBQUEseUJBQXlCLEdBQUcsbUVBQW1FLENBQUM7QUFFN0cseURBQXlEO0FBQzVDLFFBQUEsbUJBQW1CLEdBQUcsb0VBQW9FLENBQUM7QUFFeEcsNkNBQTZDO0FBQ2hDLFFBQUEsUUFBUSxHQUFHLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFL0QsNkJBQTZCO0FBQ2hCLFFBQUEsUUFBUSxHQUFHLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUUxQyxzQ0FBc0M7QUFDekIsUUFBQSxVQUFVLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7QUFFNUMsaURBQWlEO0FBQ3BDLFFBQUEsdUJBQXVCLEdBQUcscURBQXFELENBQUM7QUFFaEYsUUFBQSx1QkFBdUIsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBPWiBFdGhBY2NvdW50VXBncmFkZWFibGUgY2xhc3MgaGFzaCAodjAuMTcuMCkg4oCUIHNlY3AyNTZrMSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uXG5leHBvcnQgY29uc3QgT1pfRVRIX0FDQ09VTlRfQ0xBU1NfSEFTSCA9ICcweDM5NDBiYzE4YWJmMWRmNmJjNTQwY2FiYWRiMWNhZDk0ODZjNjgwM2I5NTgwMWU1N2I2MTUzYWUyMWFiZmUwNic7XG5cbi8vIFNUUksgdG9rZW4gY29udHJhY3QgKHNhbWUgb24gYm90aCBtYWlubmV0IGFuZCBzZXBvbGlhKVxuZXhwb3J0IGNvbnN0IFNUUktfVE9LRU5fQ09OVFJBQ1QgPSAnMHgwNDcxOGY1YTBmYzM0Y2MxYWYxNmExY2RlZTk4ZmZiMjBjMzFmNWNkNjFkNmFiMDcyMDE4NThmNDI4N2M5MzhkJztcblxuLy8gZmVsdDI1MiBtYXggdmFsdWUgKDJeMjUxICsgMTcgKiAyXjE5MiArIDEpXG5leHBvcnQgY29uc3QgRkVMVF9NQVggPSAoMW4gPDwgMjUxbikgKyAxN24gKiAoMW4gPDwgMTkybikgKyAxbjtcblxuLy8gdTI1NiBzcGxpdCBtYXNrICgxMjggYml0cylcbmV4cG9ydCBjb25zdCBNQVNLXzEyOCA9ICgxbiA8PCAxMjhuKSAtIDFuO1xuXG4vLyBDb250cmFjdCBhZGRyZXNzIGJvdW5kOiAyXjI1MSAtIDI1NlxuZXhwb3J0IGNvbnN0IEFERFJfQk9VTkQgPSAybiAqKiAyNTFuIC0gMjU2bjtcblxuLy8gZW5jb2RlU2hvcnRTdHJpbmcoJ1NUQVJLTkVUX0NPTlRSQUNUX0FERFJFU1MnKVxuZXhwb3J0IGNvbnN0IENPTlRSQUNUX0FERFJFU1NfUFJFRklYID0gMHg1MzU0NDE1MjRiNGU0NTU0NWY0MzRmNGU1NDUyNDE0MzU0NWY0MTQ0NDQ1MjQ1NTM1M247XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NFRURfU0laRV9CWVRFUyA9IDE2O1xuIl19
21
+ // V3 transaction hash prefix: encodeShortString("invoke")
22
+ exports.INVOKE_TX_PREFIX = 0x696e766f6b65n;
23
+ // V3 transaction hash prefix: encodeShortString("deploy_account")
24
+ exports.DEPLOY_ACCOUNT_TX_PREFIX = 0x6465706c6f795f6163636f756e74n;
25
+ // V3 transaction version
26
+ exports.TRANSACTION_VERSION_3 = 3n;
27
+ // Resource bound type names (short-string encoded felts)
28
+ exports.L1_GAS_NAME = 0x4c315f474153n; // "L1_GAS"
29
+ exports.L2_GAS_NAME = 0x4c325f474153n; // "L2_GAS"
30
+ exports.L1_DATA_GAS_NAME = 0x4c315f44415441n; // "L1_DATA" — NOT "L1_DATA_GAS"
31
+ /** Default v3 resource bounds (matches TransactionBuilder defaults). */
32
+ function defaultResourceBounds() {
33
+ return {
34
+ l2_gas: { max_amount: '0x1c9c380', max_price_per_unit: '0x174876e800' },
35
+ l1_gas: { max_amount: '0x0', max_price_per_unit: '0x5af3107a4000' },
36
+ l1_data_gas: { max_amount: '0x3e8', max_price_per_unit: '0x2540be400' },
37
+ };
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeUNBLHNEQU1DO0FBN0NELG1GQUFtRjtBQUN0RSxRQUFBLHlCQUF5QixHQUFHLG1FQUFtRSxDQUFDO0FBRTdHLHlEQUF5RDtBQUM1QyxRQUFBLG1CQUFtQixHQUFHLG9FQUFvRSxDQUFDO0FBRXhHLDRDQUE0QztBQUMvQixRQUFBLFdBQVcsR0FBRyxvRUFBb0UsQ0FBQztBQUNuRixRQUFBLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0FBRXRELDZDQUE2QztBQUNoQyxRQUFBLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRS9ELDZCQUE2QjtBQUNoQixRQUFBLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFMUMsc0NBQXNDO0FBQ3pCLFFBQUEsVUFBVSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRTVDLGlEQUFpRDtBQUNwQyxRQUFBLHVCQUF1QixHQUFHLHFEQUFxRCxDQUFDO0FBRWhGLFFBQUEsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRTFDLDBEQUEwRDtBQUM3QyxRQUFBLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztBQUVoRCxrRUFBa0U7QUFDckQsUUFBQSx3QkFBd0IsR0FBRywrQkFBK0IsQ0FBQztBQUV4RSx5QkFBeUI7QUFDWixRQUFBLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztBQUV4Qyx5REFBeUQ7QUFDNUMsUUFBQSxXQUFXLEdBQUcsZUFBZSxDQUFDLENBQUMsV0FBVztBQUMxQyxRQUFBLFdBQVcsR0FBRyxlQUFlLENBQUMsQ0FBQyxXQUFXO0FBQzFDLFFBQUEsZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxnQ0FBZ0M7QUFFbkYsd0VBQXdFO0FBQ3hFLFNBQWdCLHFCQUFxQjtJQUNuQyxPQUFPO1FBQ0wsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUU7UUFDdkUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRTtRQUNuRSxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRTtLQUN4RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHMgfSBmcm9tICcuL2lmYWNlJztcblxuLy8gT1ogRXRoQWNjb3VudFVwZ3JhZGVhYmxlIGNsYXNzIGhhc2ggKHYwLjE3LjApIOKAlCBzZWNwMjU2azEgc2lnbmF0dXJlIHZlcmlmaWNhdGlvblxuZXhwb3J0IGNvbnN0IE9aX0VUSF9BQ0NPVU5UX0NMQVNTX0hBU0ggPSAnMHgzOTQwYmMxOGFiZjFkZjZiYzU0MGNhYmFkYjFjYWQ5NDg2YzY4MDNiOTU4MDFlNTdiNjE1M2FlMjFhYmZlMDYnO1xuXG4vLyBTVFJLIHRva2VuIGNvbnRyYWN0IChzYW1lIG9uIGJvdGggbWFpbm5ldCBhbmQgc2Vwb2xpYSlcbmV4cG9ydCBjb25zdCBTVFJLX1RPS0VOX0NPTlRSQUNUID0gJzB4MDQ3MThmNWEwZmMzNGNjMWFmMTZhMWNkZWU5OGZmYjIwYzMxZjVjZDYxZDZhYjA3MjAxODU4ZjQyODdjOTM4ZCc7XG5cbi8vIFVEQyDigJQgc2FtZSBhZGRyZXNzIG9uIG1haW5uZXQgYW5kIFNlcG9saWFcbmV4cG9ydCBjb25zdCBVRENfQUREUkVTUyA9ICcweDA0MWE3OGU3NDFlNWFmMmZlYzM0YjY5NTY3OWJjNjg5MTc0MjQzOWY3YWZiODQ4NGVjZDc3NjY2NjFhZDAyYmYnO1xuZXhwb3J0IGNvbnN0IFVEQ19ERVBMT1lfRU5UUllQT0lOVCA9ICdkZXBsb3lDb250cmFjdCc7XG5cbi8vIGZlbHQyNTIgbWF4IHZhbHVlICgyXjI1MSArIDE3ICogMl4xOTIgKyAxKVxuZXhwb3J0IGNvbnN0IEZFTFRfTUFYID0gKDFuIDw8IDI1MW4pICsgMTduICogKDFuIDw8IDE5Mm4pICsgMW47XG5cbi8vIHUyNTYgc3BsaXQgbWFzayAoMTI4IGJpdHMpXG5leHBvcnQgY29uc3QgTUFTS18xMjggPSAoMW4gPDwgMTI4bikgLSAxbjtcblxuLy8gQ29udHJhY3QgYWRkcmVzcyBib3VuZDogMl4yNTEgLSAyNTZcbmV4cG9ydCBjb25zdCBBRERSX0JPVU5EID0gMm4gKiogMjUxbiAtIDI1Nm47XG5cbi8vIGVuY29kZVNob3J0U3RyaW5nKCdTVEFSS05FVF9DT05UUkFDVF9BRERSRVNTJylcbmV4cG9ydCBjb25zdCBDT05UUkFDVF9BRERSRVNTX1BSRUZJWCA9IDB4NTM1NDQxNTI0YjRlNDU1NDVmNDM0ZjRlNTQ1MjQxNDM1NDVmNDE0NDQ0NTI0NTUzNTNuO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TRUVEX1NJWkVfQllURVMgPSAxNjtcblxuLy8gVjMgdHJhbnNhY3Rpb24gaGFzaCBwcmVmaXg6IGVuY29kZVNob3J0U3RyaW5nKFwiaW52b2tlXCIpXG5leHBvcnQgY29uc3QgSU5WT0tFX1RYX1BSRUZJWCA9IDB4Njk2ZTc2NmY2YjY1bjtcblxuLy8gVjMgdHJhbnNhY3Rpb24gaGFzaCBwcmVmaXg6IGVuY29kZVNob3J0U3RyaW5nKFwiZGVwbG95X2FjY291bnRcIilcbmV4cG9ydCBjb25zdCBERVBMT1lfQUNDT1VOVF9UWF9QUkVGSVggPSAweDY0NjU3MDZjNmY3OTVmNjE2MzYzNmY3NTZlNzRuO1xuXG4vLyBWMyB0cmFuc2FjdGlvbiB2ZXJzaW9uXG5leHBvcnQgY29uc3QgVFJBTlNBQ1RJT05fVkVSU0lPTl8zID0gM247XG5cbi8vIFJlc291cmNlIGJvdW5kIHR5cGUgbmFtZXMgKHNob3J0LXN0cmluZyBlbmNvZGVkIGZlbHRzKVxuZXhwb3J0IGNvbnN0IEwxX0dBU19OQU1FID0gMHg0YzMxNWY0NzQxNTNuOyAvLyBcIkwxX0dBU1wiXG5leHBvcnQgY29uc3QgTDJfR0FTX05BTUUgPSAweDRjMzI1ZjQ3NDE1M247IC8vIFwiTDJfR0FTXCJcbmV4cG9ydCBjb25zdCBMMV9EQVRBX0dBU19OQU1FID0gMHg0YzMxNWY0NDQxNTQ0MW47IC8vIFwiTDFfREFUQVwiIOKAlCBOT1QgXCJMMV9EQVRBX0dBU1wiXG5cbi8qKiBEZWZhdWx0IHYzIHJlc291cmNlIGJvdW5kcyAobWF0Y2hlcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZGVmYXVsdHMpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRSZXNvdXJjZUJvdW5kcygpOiBTdGFya25ldFJlc291cmNlQm91bmRzIHtcbiAgcmV0dXJuIHtcbiAgICBsMl9nYXM6IHsgbWF4X2Ftb3VudDogJzB4MWM5YzM4MCcsIG1heF9wcmljZV9wZXJfdW5pdDogJzB4MTc0ODc2ZTgwMCcgfSxcbiAgICBsMV9nYXM6IHsgbWF4X2Ftb3VudDogJzB4MCcsIG1heF9wcmljZV9wZXJfdW5pdDogJzB4NWFmMzEwN2E0MDAwJyB9LFxuICAgIGwxX2RhdGFfZ2FzOiB7IG1heF9hbW91bnQ6ICcweDNlOCcsIG1heF9wcmljZV9wZXJfdW5pdDogJzB4MjU0MGJlNDAwJyB9LFxuICB9O1xufVxuIl19
@@ -31,12 +31,63 @@ export interface StarknetTransactionData {
31
31
  transactionType: StarknetTransactionType;
32
32
  signature?: string[];
33
33
  transactionHash?: string;
34
+ tip?: string;
35
+ nonceDataAvailabilityMode?: number;
36
+ feeDataAvailabilityMode?: number;
37
+ compiledCalldata?: string[];
38
+ /** DEPLOY_ACCOUNT: OZ EthAccount class hash. */
39
+ classHash?: string;
40
+ /** DEPLOY_ACCOUNT: constructor calldata (pubkey limbs). */
41
+ constructorCalldata?: string[];
42
+ /** DEPLOY_ACCOUNT: address salt derived from pubkey. */
43
+ contractAddressSalt?: string;
44
+ /** DEPLOY_ACCOUNT: deployed contract address (== senderAddress). Required by HSM firmware. */
45
+ contractAddress?: string;
46
+ }
47
+ export interface InvokeTransactionHashParams {
48
+ senderAddress: string;
49
+ compiledCalldata: string[];
50
+ chainId: string;
51
+ nonce: string;
52
+ resourceBounds: StarknetResourceBounds;
53
+ tip?: string;
54
+ nonceDataAvailabilityMode?: number;
55
+ feeDataAvailabilityMode?: number;
56
+ paymasterData?: string[];
57
+ accountDeploymentData?: string[];
58
+ proofFacts?: string[];
59
+ }
60
+ export interface DeployAccountTransactionHashParams {
61
+ contractAddress: string;
62
+ classHash: string;
63
+ constructorCalldata: string[];
64
+ contractAddressSalt: string;
65
+ chainId: string;
66
+ nonce: string;
67
+ resourceBounds: StarknetResourceBounds;
68
+ tip?: string;
69
+ nonceDataAvailabilityMode?: number;
70
+ feeDataAvailabilityMode?: number;
71
+ paymasterData?: string[];
34
72
  }
35
73
  export interface ParsedTransferData {
36
74
  recipient: string;
37
75
  amount: string;
38
76
  tokenContract: string;
39
77
  }
78
+ export interface ParsedUdcDeployData {
79
+ classHash: string;
80
+ salt: string;
81
+ /** Must be false for BitGo address match (deployer=0). */
82
+ unique: boolean;
83
+ constructorCalldata: string[];
84
+ udcAddress: string;
85
+ }
86
+ export interface UdcDeployParams {
87
+ classHash: string;
88
+ salt: string;
89
+ constructorCalldata: string[];
90
+ }
40
91
  export interface TxData {
41
92
  id?: string;
42
93
  sender: string;
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,eAAe,IAAI,oBAAoB,EACvC,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,cAAc,mBAAmB;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,WAAW,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,eAAe,EAAE,uBAAuB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA+B,SAAQ,0BAA0B;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,+BAAgC,SAAQ,uBAAuB;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,4 @@ var StarknetTransactionType;
6
6
  StarknetTransactionType["INVOKE"] = "INVOKE";
7
7
  StarknetTransactionType["DEPLOY_ACCOUNT"] = "DEPLOY_ACCOUNT";
8
8
  })(StarknetTransactionType || (exports.StarknetTransactionType = StarknetTransactionType = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQyw0Q0FBaUIsQ0FBQTtJQUNqQiw0REFBaUMsQ0FBQTtBQUNuQyxDQUFDLEVBSFcsdUJBQXVCLHVDQUF2Qix1QkFBdUIsUUFHbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG4gIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmV4cG9ydCBlbnVtIFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlIHtcbiAgSU5WT0tFID0gJ0lOVk9LRScsXG4gIERFUExPWV9BQ0NPVU5UID0gJ0RFUExPWV9BQ0NPVU5UJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFya25ldENhbGwge1xuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgZW50cnlwb2ludDogc3RyaW5nO1xuICBjYWxsZGF0YTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcmtuZXRSZXNvdXJjZUJvdW5kcyB7XG4gIGwyX2dhczogeyBtYXhfYW1vdW50OiBzdHJpbmc7IG1heF9wcmljZV9wZXJfdW5pdDogc3RyaW5nIH07XG4gIGwxX2dhczogeyBtYXhfYW1vdW50OiBzdHJpbmc7IG1heF9wcmljZV9wZXJfdW5pdDogc3RyaW5nIH07XG4gIGwxX2RhdGFfZ2FzOiB7IG1heF9hbW91bnQ6IHN0cmluZzsgbWF4X3ByaWNlX3Blcl91bml0OiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSB7XG4gIHNlbmRlckFkZHJlc3M6IHN0cmluZztcbiAgY2FsbHM6IFN0YXJrbmV0Q2FsbFtdO1xuICBub25jZTogc3RyaW5nO1xuICBjaGFpbklkOiBzdHJpbmc7XG4gIHJlc291cmNlQm91bmRzPzogU3RhcmtuZXRSZXNvdXJjZUJvdW5kcztcbiAgdHJhbnNhY3Rpb25UeXBlOiBTdGFya25ldFRyYW5zYWN0aW9uVHlwZTtcbiAgc2lnbmF0dXJlPzogc3RyaW5nW107XG4gIHRyYW5zYWN0aW9uSGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRUcmFuc2ZlckRhdGEge1xuICByZWNpcGllbnQ6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHRva2VuQ29udHJhY3Q6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZD86IHN0cmluZztcbiAgc2VuZGVyOiBzdHJpbmc7XG4gIHNlbmRlclB1YmxpY0tleT86IHN0cmluZztcbiAgcmVjaXBpZW50Pzogc3RyaW5nO1xuICBhbW91bnQ/OiBzdHJpbmc7XG4gIGZlZT86IHN0cmluZztcbiAgbm9uY2U6IHN0cmluZztcbiAgdHlwZTogQml0R29UcmFuc2FjdGlvblR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkhleFBhcmFtcyB7XG4gIHRyYW5zYWN0aW9uSGV4OiBzdHJpbmc7XG4gIHNpZ25hYmxlSGV4Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRzc1ZlcmlmeVN0YXJrbmV0QWRkcmVzc09wdGlvbnMgZXh0ZW5kcyBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyB7XG4gIHJvb3RBZGRyZXNzPzogc3RyaW5nO1xufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQyw0Q0FBaUIsQ0FBQTtJQUNqQiw0REFBaUMsQ0FBQTtBQUNuQyxDQUFDLEVBSFcsdUJBQXVCLHVDQUF2Qix1QkFBdUIsUUFHbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG4gIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmV4cG9ydCBlbnVtIFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlIHtcbiAgSU5WT0tFID0gJ0lOVk9LRScsXG4gIERFUExPWV9BQ0NPVU5UID0gJ0RFUExPWV9BQ0NPVU5UJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFya25ldENhbGwge1xuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgZW50cnlwb2ludDogc3RyaW5nO1xuICBjYWxsZGF0YTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcmtuZXRSZXNvdXJjZUJvdW5kcyB7XG4gIGwyX2dhczogeyBtYXhfYW1vdW50OiBzdHJpbmc7IG1heF9wcmljZV9wZXJfdW5pdDogc3RyaW5nIH07XG4gIGwxX2dhczogeyBtYXhfYW1vdW50OiBzdHJpbmc7IG1heF9wcmljZV9wZXJfdW5pdDogc3RyaW5nIH07XG4gIGwxX2RhdGFfZ2FzOiB7IG1heF9hbW91bnQ6IHN0cmluZzsgbWF4X3ByaWNlX3Blcl91bml0OiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSB7XG4gIHNlbmRlckFkZHJlc3M6IHN0cmluZztcbiAgY2FsbHM6IFN0YXJrbmV0Q2FsbFtdO1xuICBub25jZTogc3RyaW5nO1xuICBjaGFpbklkOiBzdHJpbmc7XG4gIHJlc291cmNlQm91bmRzPzogU3RhcmtuZXRSZXNvdXJjZUJvdW5kcztcbiAgdHJhbnNhY3Rpb25UeXBlOiBTdGFya25ldFRyYW5zYWN0aW9uVHlwZTtcbiAgc2lnbmF0dXJlPzogc3RyaW5nW107XG4gIHRyYW5zYWN0aW9uSGFzaD86IHN0cmluZztcbiAgdGlwPzogc3RyaW5nO1xuICBub25jZURhdGFBdmFpbGFiaWxpdHlNb2RlPzogbnVtYmVyO1xuICBmZWVEYXRhQXZhaWxhYmlsaXR5TW9kZT86IG51bWJlcjtcbiAgY29tcGlsZWRDYWxsZGF0YT86IHN0cmluZ1tdO1xuICAvKiogREVQTE9ZX0FDQ09VTlQ6IE9aIEV0aEFjY291bnQgY2xhc3MgaGFzaC4gKi9cbiAgY2xhc3NIYXNoPzogc3RyaW5nO1xuICAvKiogREVQTE9ZX0FDQ09VTlQ6IGNvbnN0cnVjdG9yIGNhbGxkYXRhIChwdWJrZXkgbGltYnMpLiAqL1xuICBjb25zdHJ1Y3RvckNhbGxkYXRhPzogc3RyaW5nW107XG4gIC8qKiBERVBMT1lfQUNDT1VOVDogYWRkcmVzcyBzYWx0IGRlcml2ZWQgZnJvbSBwdWJrZXkuICovXG4gIGNvbnRyYWN0QWRkcmVzc1NhbHQ/OiBzdHJpbmc7XG4gIC8qKiBERVBMT1lfQUNDT1VOVDogZGVwbG95ZWQgY29udHJhY3QgYWRkcmVzcyAoPT0gc2VuZGVyQWRkcmVzcykuIFJlcXVpcmVkIGJ5IEhTTSBmaXJtd2FyZS4gKi9cbiAgY29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludm9rZVRyYW5zYWN0aW9uSGFzaFBhcmFtcyB7XG4gIHNlbmRlckFkZHJlc3M6IHN0cmluZztcbiAgY29tcGlsZWRDYWxsZGF0YTogc3RyaW5nW107XG4gIGNoYWluSWQ6IHN0cmluZztcbiAgbm9uY2U6IHN0cmluZztcbiAgcmVzb3VyY2VCb3VuZHM6IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHM7XG4gIHRpcD86IHN0cmluZztcbiAgbm9uY2VEYXRhQXZhaWxhYmlsaXR5TW9kZT86IG51bWJlcjtcbiAgZmVlRGF0YUF2YWlsYWJpbGl0eU1vZGU/OiBudW1iZXI7XG4gIHBheW1hc3RlckRhdGE/OiBzdHJpbmdbXTtcbiAgYWNjb3VudERlcGxveW1lbnREYXRhPzogc3RyaW5nW107XG4gIHByb29mRmFjdHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lBY2NvdW50VHJhbnNhY3Rpb25IYXNoUGFyYW1zIHtcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIGNsYXNzSGFzaDogc3RyaW5nO1xuICBjb25zdHJ1Y3RvckNhbGxkYXRhOiBzdHJpbmdbXTtcbiAgY29udHJhY3RBZGRyZXNzU2FsdDogc3RyaW5nO1xuICBjaGFpbklkOiBzdHJpbmc7XG4gIG5vbmNlOiBzdHJpbmc7XG4gIHJlc291cmNlQm91bmRzOiBTdGFya25ldFJlc291cmNlQm91bmRzO1xuICB0aXA/OiBzdHJpbmc7XG4gIG5vbmNlRGF0YUF2YWlsYWJpbGl0eU1vZGU/OiBudW1iZXI7XG4gIGZlZURhdGFBdmFpbGFiaWxpdHlNb2RlPzogbnVtYmVyO1xuICBwYXltYXN0ZXJEYXRhPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkVHJhbnNmZXJEYXRhIHtcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICB0b2tlbkNvbnRyYWN0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkVWRjRGVwbG95RGF0YSB7XG4gIGNsYXNzSGFzaDogc3RyaW5nO1xuICBzYWx0OiBzdHJpbmc7XG4gIC8qKiBNdXN0IGJlIGZhbHNlIGZvciBCaXRHbyBhZGRyZXNzIG1hdGNoIChkZXBsb3llcj0wKS4gKi9cbiAgdW5pcXVlOiBib29sZWFuO1xuICBjb25zdHJ1Y3RvckNhbGxkYXRhOiBzdHJpbmdbXTtcbiAgdWRjQWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVkY0RlcGxveVBhcmFtcyB7XG4gIGNsYXNzSGFzaDogc3RyaW5nO1xuICBzYWx0OiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yQ2FsbGRhdGE6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR4RGF0YSB7XG4gIGlkPzogc3RyaW5nO1xuICBzZW5kZXI6IHN0cmluZztcbiAgc2VuZGVyUHVibGljS2V5Pzogc3RyaW5nO1xuICByZWNpcGllbnQ/OiBzdHJpbmc7XG4gIGFtb3VudD86IHN0cmluZztcbiAgZmVlPzogc3RyaW5nO1xuICBub25jZTogc3RyaW5nO1xuICB0eXBlOiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFya25ldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgdHlwZT86IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uSGV4UGFyYW1zIHtcbiAgdHJhbnNhY3Rpb25IZXg6IHN0cmluZztcbiAgc2lnbmFibGVIZXg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHNzVmVyaWZ5U3RhcmtuZXRBZGRyZXNzT3B0aW9ucyBleHRlbmRzIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgcm9vdEFkZHJlc3M/OiBzdHJpbmc7XG59XG4iXX0=
@@ -3,6 +3,8 @@ export * from './iface';
3
3
  export { KeyPair } from './keyPair';
4
4
  export { TransactionBuilder } from './transactionBuilder';
5
5
  export { TransferBuilder } from './transferBuilder';
6
+ export { UdcDeployBuilder } from './udcDeployBuilder';
7
+ export { WalletInitializationBuilder } from './walletInitializationBuilder';
6
8
  export { TransactionBuilderFactory } from './transactionBuilderFactory';
7
9
  export { Transaction } from './transaction';
8
10
  export { Utils };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Utils = exports.Transaction = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.KeyPair = void 0;
39
+ exports.Utils = exports.Transaction = exports.TransactionBuilderFactory = exports.WalletInitializationBuilder = exports.UdcDeployBuilder = exports.TransferBuilder = exports.TransactionBuilder = exports.KeyPair = void 0;
40
40
  const Utils = __importStar(require("./utils"));
41
41
  exports.Utils = Utils;
42
42
  __exportStar(require("./iface"), exports);
@@ -46,8 +46,12 @@ var transactionBuilder_1 = require("./transactionBuilder");
46
46
  Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
47
47
  var transferBuilder_1 = require("./transferBuilder");
48
48
  Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
49
+ var udcDeployBuilder_1 = require("./udcDeployBuilder");
50
+ Object.defineProperty(exports, "UdcDeployBuilder", { enumerable: true, get: function () { return udcDeployBuilder_1.UdcDeployBuilder; } });
51
+ var walletInitializationBuilder_1 = require("./walletInitializationBuilder");
52
+ Object.defineProperty(exports, "WalletInitializationBuilder", { enumerable: true, get: function () { return walletInitializationBuilder_1.WalletInitializationBuilder; } });
49
53
  var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
50
54
  Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
51
55
  var transaction_1 = require("./transaction");
52
56
  Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQVF4QixzQkFBSztBQVBkLDBDQUF3QjtBQUV4QixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBVdGlscyB9O1xuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQVV4QixzQkFBSztBQVRkLDBDQUF3QjtBQUV4QixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHVEQUFzRDtBQUE3QyxvSEFBQSxnQkFBZ0IsT0FBQTtBQUN6Qiw2RUFBNEU7QUFBbkUsMElBQUEsMkJBQTJCLE9BQUE7QUFDcEMseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFVkY0RlcGxveUJ1aWxkZXIgfSBmcm9tICcuL3VkY0RlcGxveUJ1aWxkZXInO1xuZXhwb3J0IHsgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVXRpbHMgfTtcbiJdfQ==
@@ -7,6 +7,7 @@ export declare class Transaction extends BaseTransaction {
7
7
  constructor(_coinConfig: Readonly<CoinConfig>);
8
8
  get starknetTransactionData(): StarknetTransactionData;
9
9
  set starknetTransactionData(data: StarknetTransactionData);
10
+ get signableHex(): string;
10
11
  get signedTransaction(): string | undefined;
11
12
  set signedTransaction(tx: string);
12
13
  fromRawTransaction(rawTransaction: string): Promise<void>;
@@ -14,8 +15,12 @@ export declare class Transaction extends BaseTransaction {
14
15
  toJson(): TxData;
15
16
  /** @inheritDoc */
16
17
  explainTransaction(): StarknetTransactionExplanation;
17
- /** @inheritdoc */
18
+ /** Hex-encoded internal JSON — used by WP for round-trip via fromRawTransaction. */
19
+ toInternalHex(): string;
20
+ /** @inheritdoc — returns Starknet RPC-ready JSON for addInvoke or addDeployAccount. */
18
21
  toBroadcastFormat(): string;
22
+ private buildDeployAccountPayload;
23
+ private buildInvokePayload;
19
24
  /** @inheritdoc */
20
25
  canSign(_key: BaseKey): boolean;
21
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAIhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAA2B,8BAA8B,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGnH,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,wBAAwB,EAAG,uBAAuB,CAAC;IAC7D,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBAE1B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,uBAAuB,IAAI,uBAAuB,CAErD;IAED,IAAI,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,EAExD;IAED,IAAI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED,IAAI,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAE/B;IAEK,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B/D,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAkBhB,kBAAkB;IAClB,kBAAkB,IAAI,8BAA8B;IAwBpD,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAS3B,kBAAkB;IAClB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;CAGhC"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAIhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAEL,uBAAuB,EAEvB,8BAA8B,EAC9B,MAAM,EACP,MAAM,SAAS,CAAC;AAiBjB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,wBAAwB,EAAG,uBAAuB,CAAC;IAC7D,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBAE1B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,uBAAuB,IAAI,uBAAuB,CAErD;IAED,IAAI,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,EAKxD;IAED,IAAI,WAAW,IAAI,MAAM,CAIxB;IAED,IAAI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED,IAAI,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAE/B;IAEK,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC/D,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAwChB,kBAAkB;IAClB,kBAAkB,IAAI,8BAA8B;IAwBpD,oFAAoF;IACpF,aAAa,IAAI,MAAM;IAQvB,uFAAuF;IACvF,iBAAiB,IAAI,MAAM;IAa3B,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,kBAAkB;IAiB1B,kBAAkB;IAClB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;CAGhC"}
@@ -35,8 +35,21 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.Transaction = void 0;
37
37
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
38
+ const constants_1 = require("./constants");
38
39
  const iface_1 = require("./iface");
39
40
  const utils_1 = __importStar(require("./utils"));
41
+ function resolveCompiledCalldata(data) {
42
+ if (data.compiledCalldata && data.compiledCalldata.length > 0) {
43
+ return data.compiledCalldata;
44
+ }
45
+ if (data.calls.length > 0) {
46
+ return (0, utils_1.compileExecuteCalldata)(data.calls);
47
+ }
48
+ throw new sdk_core_1.InvalidTransactionError('Missing calldata: no compiledCalldata or calls');
49
+ }
50
+ function resolveResourceBounds(data) {
51
+ return data.resourceBounds ?? (0, constants_1.defaultResourceBounds)();
52
+ }
40
53
  class Transaction extends sdk_core_1.BaseTransaction {
41
54
  constructor(_coinConfig) {
42
55
  super(_coinConfig);
@@ -46,6 +59,15 @@ class Transaction extends sdk_core_1.BaseTransaction {
46
59
  }
47
60
  set starknetTransactionData(data) {
48
61
  this._starknetTransactionData = data;
62
+ if (data.transactionHash) {
63
+ this._id = data.transactionHash;
64
+ }
65
+ }
66
+ get signableHex() {
67
+ const hash = this._starknetTransactionData?.transactionHash;
68
+ if (!hash)
69
+ return '';
70
+ return hash.replace(/^0x/i, '').padStart(64, '0');
49
71
  }
50
72
  get signedTransaction() {
51
73
  return this._signedTransaction;
@@ -60,12 +82,21 @@ class Transaction extends sdk_core_1.BaseTransaction {
60
82
  const parsed = JSON.parse(jsonString);
61
83
  this._starknetTransactionData = {
62
84
  senderAddress: parsed.senderAddress,
85
+ contractAddress: parsed.contractAddress,
63
86
  calls: parsed.calls || [],
64
87
  nonce: parsed.nonce,
65
88
  chainId: parsed.chainId,
66
89
  transactionType: parsed.transactionType || iface_1.StarknetTransactionType.INVOKE,
67
90
  signature: parsed.signature,
68
91
  transactionHash: parsed.transactionHash,
92
+ resourceBounds: parsed.resourceBounds,
93
+ tip: parsed.tip,
94
+ compiledCalldata: parsed.compiledCalldata,
95
+ nonceDataAvailabilityMode: parsed.nonceDataAvailabilityMode,
96
+ feeDataAvailabilityMode: parsed.feeDataAvailabilityMode,
97
+ classHash: parsed.classHash,
98
+ constructorCalldata: parsed.constructorCalldata,
99
+ contractAddressSalt: parsed.contractAddressSalt,
69
100
  };
70
101
  if (parsed.signature && parsed.signature.length > 0) {
71
102
  this._signedTransaction = rawTransaction;
@@ -82,17 +113,30 @@ class Transaction extends sdk_core_1.BaseTransaction {
82
113
  if (!this._starknetTransactionData) {
83
114
  throw new sdk_core_1.InvalidTransactionError('Empty transaction');
84
115
  }
85
- const transfer = this._starknetTransactionData.calls.length > 0
86
- ? (0, utils_1.parseTransferCall)(this._starknetTransactionData.calls[0])
87
- : undefined;
88
- return {
116
+ const data = this._starknetTransactionData;
117
+ const result = {
89
118
  id: this._id,
90
- sender: this._starknetTransactionData.senderAddress,
91
- recipient: transfer?.recipient,
92
- amount: transfer?.amount,
93
- nonce: this._starknetTransactionData.nonce,
119
+ sender: data.senderAddress,
120
+ nonce: data.nonce,
94
121
  type: sdk_core_1.TransactionType.Send,
95
122
  };
123
+ const firstCall = data.calls[0];
124
+ if (!firstCall) {
125
+ return result;
126
+ }
127
+ const transfer = (0, utils_1.parseTransferCall)(firstCall);
128
+ if (transfer) {
129
+ result.recipient = transfer.recipient;
130
+ result.amount = transfer.amount;
131
+ return result;
132
+ }
133
+ const udcDeploy = (0, utils_1.parseUdcDeployCall)(firstCall);
134
+ if (udcDeploy && !udcDeploy.unique) {
135
+ result.recipient = utils_1.default.calculateContractAddressFromHash(udcDeploy.salt, udcDeploy.classHash, udcDeploy.constructorCalldata, 0);
136
+ result.amount = '0';
137
+ result.type = sdk_core_1.TransactionType.ContractCall;
138
+ }
139
+ return result;
96
140
  }
97
141
  /** @inheritDoc */
98
142
  explainTransaction() {
@@ -116,14 +160,60 @@ class Transaction extends sdk_core_1.BaseTransaction {
116
160
  changeAmount: '0',
117
161
  };
118
162
  }
119
- /** @inheritdoc */
163
+ /** Hex-encoded internal JSON — used by WP for round-trip via fromRawTransaction. */
164
+ toInternalHex() {
165
+ const data = this._starknetTransactionData;
166
+ if (!data) {
167
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction');
168
+ }
169
+ return Buffer.from(JSON.stringify(data), 'utf-8').toString('hex');
170
+ }
171
+ /** @inheritdoc — returns Starknet RPC-ready JSON for addInvoke or addDeployAccount. */
120
172
  toBroadcastFormat() {
121
173
  const data = this._starknetTransactionData;
122
174
  if (!data) {
123
175
  throw new sdk_core_1.InvalidTransactionError('Empty transaction');
124
176
  }
125
- const json = JSON.stringify(data);
126
- return Buffer.from(json, 'utf-8').toString('hex');
177
+ const payload = data.transactionType === iface_1.StarknetTransactionType.DEPLOY_ACCOUNT
178
+ ? this.buildDeployAccountPayload(data)
179
+ : this.buildInvokePayload(data);
180
+ return JSON.stringify(payload);
181
+ }
182
+ buildDeployAccountPayload(data) {
183
+ if (!data.classHash || !data.constructorCalldata || !data.contractAddressSalt) {
184
+ throw new sdk_core_1.InvalidTransactionError('Incomplete deploy account transaction');
185
+ }
186
+ return {
187
+ type: 'DEPLOY_ACCOUNT',
188
+ version: '0x3',
189
+ signature: data.signature || [],
190
+ nonce: data.nonce,
191
+ contract_address_salt: data.contractAddressSalt,
192
+ constructor_calldata: data.constructorCalldata,
193
+ class_hash: data.classHash,
194
+ sender_address: data.senderAddress,
195
+ resource_bounds: resolveResourceBounds(data),
196
+ tip: data.tip || '0x0',
197
+ paymaster_data: [],
198
+ nonce_data_availability_mode: 'L1',
199
+ fee_data_availability_mode: 'L1',
200
+ };
201
+ }
202
+ buildInvokePayload(data) {
203
+ return {
204
+ type: 'INVOKE',
205
+ version: '0x3',
206
+ sender_address: data.senderAddress,
207
+ calldata: resolveCompiledCalldata(data),
208
+ signature: data.signature || [],
209
+ nonce: data.nonce,
210
+ resource_bounds: resolveResourceBounds(data),
211
+ tip: data.tip || '0x0',
212
+ paymaster_data: [],
213
+ account_deployment_data: [],
214
+ nonce_data_availability_mode: 'L1',
215
+ fee_data_availability_mode: 'L1',
216
+ };
127
217
  }
128
218
  /** @inheritdoc */
129
219
  canSign(_key) {
@@ -131,4 +221,4 @@ class Transaction extends sdk_core_1.BaseTransaction {
131
221
  }
132
222
  }
133
223
  exports.Transaction = Transaction;
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQU04QjtBQUU5QixtQ0FBbUg7QUFDbkgsaURBQW1EO0FBRW5ELE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBSTlDLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUN6QixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSx1QkFBdUIsQ0FBQyxJQUE2QjtRQUN2RCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxpQkFBaUIsQ0FBQyxFQUFVO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFzQjtRQUM3QyxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFdEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHO2dCQUM5QixhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7Z0JBQ25DLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3pCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDbkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUN2QixlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWUsSUFBSSwrQkFBdUIsQ0FBQyxNQUFNO2dCQUN6RSxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7Z0JBQzNCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTthQUN4QyxDQUFDO1lBRUYsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsY0FBYyxDQUFDO1lBQzNDLENBQUM7WUFFRCxlQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUMxQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksa0NBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUM1QyxDQUFDLENBQUMsSUFBQSx5QkFBaUIsRUFBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNELENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEIsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNaLE1BQU0sRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYTtZQUNuRCxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVM7WUFDOUIsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSztZQUMxQyxJQUFJLEVBQUUsMEJBQWUsQ0FBQyxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQjtRQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9GLE1BQU0sT0FBTyxHQUEyQixFQUFFLENBQUM7UUFFM0MsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUztnQkFDekIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPO1lBQ0wsWUFBWTtZQUNaLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLE9BQU87WUFDUCxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHO1lBQ2xDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7WUFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLFlBQVksRUFBRSxHQUFHO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQjtRQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksa0NBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU8sQ0FBQyxJQUFhO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBN0dELGtDQTZHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLCBTdGFya25ldFRyYW5zYWN0aW9uVHlwZSwgU3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUeERhdGEgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB1dGlscywgeyBwYXJzZVRyYW5zZmVyQ2FsbCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhITogU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG4gIHByb3RlY3RlZCBfc2lnbmVkVHJhbnNhY3Rpb24/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0IHN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKCk6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG4gIH1cblxuICBzZXQgc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEoZGF0YTogU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEpIHtcbiAgICB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSA9IGRhdGE7XG4gIH1cblxuICBnZXQgc2lnbmVkVHJhbnNhY3Rpb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgc2lnbmVkVHJhbnNhY3Rpb24odHg6IHN0cmluZykge1xuICAgIHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uID0gdHg7XG4gIH1cblxuICBhc3luYyBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuZnJvbShyYXdUcmFuc2FjdGlvbiwgJ2hleCcpO1xuICAgICAgY29uc3QganNvblN0cmluZyA9IGJ1ZmZlci50b1N0cmluZygndXRmLTgnKTtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UoanNvblN0cmluZyk7XG5cbiAgICAgIHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhID0ge1xuICAgICAgICBzZW5kZXJBZGRyZXNzOiBwYXJzZWQuc2VuZGVyQWRkcmVzcyxcbiAgICAgICAgY2FsbHM6IHBhcnNlZC5jYWxscyB8fCBbXSxcbiAgICAgICAgbm9uY2U6IHBhcnNlZC5ub25jZSxcbiAgICAgICAgY2hhaW5JZDogcGFyc2VkLmNoYWluSWQsXG4gICAgICAgIHRyYW5zYWN0aW9uVHlwZTogcGFyc2VkLnRyYW5zYWN0aW9uVHlwZSB8fCBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5JTlZPS0UsXG4gICAgICAgIHNpZ25hdHVyZTogcGFyc2VkLnNpZ25hdHVyZSxcbiAgICAgICAgdHJhbnNhY3Rpb25IYXNoOiBwYXJzZWQudHJhbnNhY3Rpb25IYXNoLFxuICAgICAgfTtcblxuICAgICAgaWYgKHBhcnNlZC5zaWduYXR1cmUgJiYgcGFyc2VkLnNpZ25hdHVyZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uID0gcmF3VHJhbnNhY3Rpb247XG4gICAgICB9XG5cbiAgICAgIHV0aWxzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24odGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEpO1xuICAgICAgdGhpcy5faWQgPSBwYXJzZWQudHJhbnNhY3Rpb25IYXNoIHx8ICcnO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Kc29uKCk6IFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBjb25zdCB0cmFuc2ZlciA9XG4gICAgICB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YS5jYWxscy5sZW5ndGggPiAwXG4gICAgICAgID8gcGFyc2VUcmFuc2ZlckNhbGwodGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEuY2FsbHNbMF0pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5faWQsXG4gICAgICBzZW5kZXI6IHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLnNlbmRlckFkZHJlc3MsXG4gICAgICByZWNpcGllbnQ6IHRyYW5zZmVyPy5yZWNpcGllbnQsXG4gICAgICBhbW91bnQ6IHRyYW5zZmVyPy5hbW91bnQsXG4gICAgICBub25jZTogdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEubm9uY2UsXG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGUuU2VuZCxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBTdGFya25ldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gWydpZCcsICdvdXRwdXRBbW91bnQnLCAnY2hhbmdlQW1vdW50JywgJ291dHB1dHMnLCAnY2hhbmdlT3V0cHV0cycsICdmZWUnXTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW107XG5cbiAgICBpZiAocmVzdWx0LnJlY2lwaWVudCAmJiByZXN1bHQuYW1vdW50KSB7XG4gICAgICBvdXRwdXRzLnB1c2goe1xuICAgICAgICBhZGRyZXNzOiByZXN1bHQucmVjaXBpZW50LFxuICAgICAgICBhbW91bnQ6IHJlc3VsdC5hbW91bnQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBvdXRwdXRzLFxuICAgICAgb3V0cHV0QW1vdW50OiByZXN1bHQuYW1vdW50IHx8ICcwJyxcbiAgICAgIGZlZTogeyBmZWU6ICcwJyB9LFxuICAgICAgdHlwZTogcmVzdWx0LnR5cGUsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgIGNoYW5nZUFtb3VudDogJzAnLFxuICAgIH07XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oanNvbiwgJ3V0Zi04JykudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oX2tleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQU04QjtBQUU5QiwyQ0FBb0Q7QUFDcEQsbUNBTWlCO0FBQ2pCLGlEQUErRjtBQUUvRixTQUFTLHVCQUF1QixDQUFDLElBQTZCO0lBQzVELElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFBLDhCQUFzQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGdEQUFnRCxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsSUFBNkI7SUFDMUQsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUEsaUNBQXFCLEdBQUUsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBYSxXQUFZLFNBQVEsMEJBQWU7SUFJOUMsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLHVCQUF1QixDQUFDLElBQTZCO1FBQ3ZELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsR0FB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YTtZQUNsQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7WUFDNUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksS0FBSztZQUN0QixjQUFjLEVBQUUsRUFBRTtZQUNsQix1QkFBdUIsRUFBRSxFQUFFO1lBQzNCLDRCQUE0QixFQUFFLElBQUk7WUFDbEMsMEJBQTBCLEVBQUUsSUFBSTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNsQixPQUFPLENBQUMsSUFBYTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQXpNRCxrQ0F5TUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBkZWZhdWx0UmVzb3VyY2VCb3VuZHMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBTdGFya25ldFJlc291cmNlQm91bmRzLFxuICBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSxcbiAgU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUsXG4gIFN0YXJrbmV0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgVHhEYXRhLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB1dGlscywgeyBjb21waWxlRXhlY3V0ZUNhbGxkYXRhLCBwYXJzZVRyYW5zZmVyQ2FsbCwgcGFyc2VVZGNEZXBsb3lDYWxsIH0gZnJvbSAnLi91dGlscyc7XG5cbmZ1bmN0aW9uIHJlc29sdmVDb21waWxlZENhbGxkYXRhKGRhdGE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKTogc3RyaW5nW10ge1xuICBpZiAoZGF0YS5jb21waWxlZENhbGxkYXRhICYmIGRhdGEuY29tcGlsZWRDYWxsZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGRhdGEuY29tcGlsZWRDYWxsZGF0YTtcbiAgfVxuICBpZiAoZGF0YS5jYWxscy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGNvbXBpbGVFeGVjdXRlQ2FsbGRhdGEoZGF0YS5jYWxscyk7XG4gIH1cbiAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGNhbGxkYXRhOiBubyBjb21waWxlZENhbGxkYXRhIG9yIGNhbGxzJyk7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVSZXNvdXJjZUJvdW5kcyhkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSk6IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHMge1xuICByZXR1cm4gZGF0YS5yZXNvdXJjZUJvdW5kcyA/PyBkZWZhdWx0UmVzb3VyY2VCb3VuZHMoKTtcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICBwcm90ZWN0ZWQgX3NpZ25lZFRyYW5zYWN0aW9uPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldCBzdGFya25ldFRyYW5zYWN0aW9uRGF0YSgpOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICB9XG5cbiAgc2V0IHN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKGRhdGE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEgPSBkYXRhO1xuICAgIGlmIChkYXRhLnRyYW5zYWN0aW9uSGFzaCkge1xuICAgICAgdGhpcy5faWQgPSBkYXRhLnRyYW5zYWN0aW9uSGFzaDtcbiAgICB9XG4gIH1cblxuICBnZXQgc2lnbmFibGVIZXgoKTogc3RyaW5nIHtcbiAgICBjb25zdCBoYXNoID0gdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE/LnRyYW5zYWN0aW9uSGFzaDtcbiAgICBpZiAoIWhhc2gpIHJldHVybiAnJztcbiAgICByZXR1cm4gaGFzaC5yZXBsYWNlKC9eMHgvaSwgJycpLnBhZFN0YXJ0KDY0LCAnMCcpO1xuICB9XG5cbiAgZ2V0IHNpZ25lZFRyYW5zYWN0aW9uKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IHNpZ25lZFRyYW5zYWN0aW9uKHR4OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgYXN5bmMgZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmZyb20ocmF3VHJhbnNhY3Rpb24sICdoZXgnKTtcbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSBidWZmZXIudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGpzb25TdHJpbmcpO1xuXG4gICAgICB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgICAgc2VuZGVyQWRkcmVzczogcGFyc2VkLnNlbmRlckFkZHJlc3MsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogcGFyc2VkLmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgY2FsbHM6IHBhcnNlZC5jYWxscyB8fCBbXSxcbiAgICAgICAgbm9uY2U6IHBhcnNlZC5ub25jZSxcbiAgICAgICAgY2hhaW5JZDogcGFyc2VkLmNoYWluSWQsXG4gICAgICAgIHRyYW5zYWN0aW9uVHlwZTogcGFyc2VkLnRyYW5zYWN0aW9uVHlwZSB8fCBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5JTlZPS0UsXG4gICAgICAgIHNpZ25hdHVyZTogcGFyc2VkLnNpZ25hdHVyZSxcbiAgICAgICAgdHJhbnNhY3Rpb25IYXNoOiBwYXJzZWQudHJhbnNhY3Rpb25IYXNoLFxuICAgICAgICByZXNvdXJjZUJvdW5kczogcGFyc2VkLnJlc291cmNlQm91bmRzLFxuICAgICAgICB0aXA6IHBhcnNlZC50aXAsXG4gICAgICAgIGNvbXBpbGVkQ2FsbGRhdGE6IHBhcnNlZC5jb21waWxlZENhbGxkYXRhLFxuICAgICAgICBub25jZURhdGFBdmFpbGFiaWxpdHlNb2RlOiBwYXJzZWQubm9uY2VEYXRhQXZhaWxhYmlsaXR5TW9kZSxcbiAgICAgICAgZmVlRGF0YUF2YWlsYWJpbGl0eU1vZGU6IHBhcnNlZC5mZWVEYXRhQXZhaWxhYmlsaXR5TW9kZSxcbiAgICAgICAgY2xhc3NIYXNoOiBwYXJzZWQuY2xhc3NIYXNoLFxuICAgICAgICBjb25zdHJ1Y3RvckNhbGxkYXRhOiBwYXJzZWQuY29uc3RydWN0b3JDYWxsZGF0YSxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzU2FsdDogcGFyc2VkLmNvbnRyYWN0QWRkcmVzc1NhbHQsXG4gICAgICB9O1xuXG4gICAgICBpZiAocGFyc2VkLnNpZ25hdHVyZSAmJiBwYXJzZWQuc2lnbmF0dXJlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24gPSByYXdUcmFuc2FjdGlvbjtcbiAgICAgIH1cblxuICAgICAgdXRpbHMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbih0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSk7XG4gICAgICB0aGlzLl9pZCA9IHBhcnNlZC50cmFuc2FjdGlvbkhhc2ggfHwgJyc7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCB0cmFuc2FjdGlvbjogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICAgIGNvbnN0IHJlc3VsdDogVHhEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuX2lkLFxuICAgICAgc2VuZGVyOiBkYXRhLnNlbmRlckFkZHJlc3MsXG4gICAgICBub25jZTogZGF0YS5ub25jZSxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZS5TZW5kLFxuICAgIH07XG5cbiAgICBjb25zdCBmaXJzdENhbGwgPSBkYXRhLmNhbGxzWzBdO1xuICAgIGlmICghZmlyc3RDYWxsKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zZmVyID0gcGFyc2VUcmFuc2ZlckNhbGwoZmlyc3RDYWxsKTtcbiAgICBpZiAodHJhbnNmZXIpIHtcbiAgICAgIHJlc3VsdC5yZWNpcGllbnQgPSB0cmFuc2Zlci5yZWNpcGllbnQ7XG4gICAgICByZXN1bHQuYW1vdW50ID0gdHJhbnNmZXIuYW1vdW50O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBjb25zdCB1ZGNEZXBsb3kgPSBwYXJzZVVkY0RlcGxveUNhbGwoZmlyc3RDYWxsKTtcbiAgICBpZiAodWRjRGVwbG95ICYmICF1ZGNEZXBsb3kudW5pcXVlKSB7XG4gICAgICByZXN1bHQucmVjaXBpZW50ID0gdXRpbHMuY2FsY3VsYXRlQ29udHJhY3RBZGRyZXNzRnJvbUhhc2goXG4gICAgICAgIHVkY0RlcGxveS5zYWx0LFxuICAgICAgICB1ZGNEZXBsb3kuY2xhc3NIYXNoLFxuICAgICAgICB1ZGNEZXBsb3kuY29uc3RydWN0b3JDYWxsZGF0YSxcbiAgICAgICAgMFxuICAgICAgKTtcbiAgICAgIHJlc3VsdC5hbW91bnQgPSAnMCc7XG4gICAgICByZXN1bHQudHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5Db250cmFjdENhbGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBleHBsYWluVHJhbnNhY3Rpb24oKTogU3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnaWQnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZUFtb3VudCcsICdvdXRwdXRzJywgJ2NoYW5nZU91dHB1dHMnLCAnZmVlJ107XG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtdO1xuXG4gICAgaWYgKHJlc3VsdC5yZWNpcGllbnQgJiYgcmVzdWx0LmFtb3VudCkge1xuICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogcmVzdWx0LnJlY2lwaWVudCxcbiAgICAgICAgYW1vdW50OiByZXN1bHQuYW1vdW50LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudDogcmVzdWx0LmFtb3VudCB8fCAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICAgIHR5cGU6IHJlc3VsdC50eXBlLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEhleC1lbmNvZGVkIGludGVybmFsIEpTT04g4oCUIHVzZWQgYnkgV1AgZm9yIHJvdW5kLXRyaXAgdmlhIGZyb21SYXdUcmFuc2FjdGlvbi4gKi9cbiAgdG9JbnRlcm5hbEhleCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KGRhdGEpLCAndXRmLTgnKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2Mg4oCUIHJldHVybnMgU3RhcmtuZXQgUlBDLXJlYWR5IEpTT04gZm9yIGFkZEludm9rZSBvciBhZGREZXBsb3lBY2NvdW50LiAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlsb2FkID1cbiAgICAgIGRhdGEudHJhbnNhY3Rpb25UeXBlID09PSBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5ERVBMT1lfQUNDT1VOVFxuICAgICAgICA/IHRoaXMuYnVpbGREZXBsb3lBY2NvdW50UGF5bG9hZChkYXRhKVxuICAgICAgICA6IHRoaXMuYnVpbGRJbnZva2VQYXlsb2FkKGRhdGEpO1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpO1xuICB9XG4gIHByaXZhdGUgYnVpbGREZXBsb3lBY2NvdW50UGF5bG9hZChkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIGlmICghZGF0YS5jbGFzc0hhc2ggfHwgIWRhdGEuY29uc3RydWN0b3JDYWxsZGF0YSB8fCAhZGF0YS5jb250cmFjdEFkZHJlc3NTYWx0KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0luY29tcGxldGUgZGVwbG95IGFjY291bnQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ0RFUExPWV9BQ0NPVU5UJyxcbiAgICAgIHZlcnNpb246ICcweDMnLFxuICAgICAgc2lnbmF0dXJlOiBkYXRhLnNpZ25hdHVyZSB8fCBbXSxcbiAgICAgIG5vbmNlOiBkYXRhLm5vbmNlLFxuICAgICAgY29udHJhY3RfYWRkcmVzc19zYWx0OiBkYXRhLmNvbnRyYWN0QWRkcmVzc1NhbHQsXG4gICAgICBjb25zdHJ1Y3Rvcl9jYWxsZGF0YTogZGF0YS5jb25zdHJ1Y3RvckNhbGxkYXRhLFxuICAgICAgY2xhc3NfaGFzaDogZGF0YS5jbGFzc0hhc2gsXG4gICAgICBzZW5kZXJfYWRkcmVzczogZGF0YS5zZW5kZXJBZGRyZXNzLFxuICAgICAgcmVzb3VyY2VfYm91bmRzOiByZXNvbHZlUmVzb3VyY2VCb3VuZHMoZGF0YSksXG4gICAgICB0aXA6IGRhdGEudGlwIHx8ICcweDAnLFxuICAgICAgcGF5bWFzdGVyX2RhdGE6IFtdLFxuICAgICAgbm9uY2VfZGF0YV9hdmFpbGFiaWxpdHlfbW9kZTogJ0wxJyxcbiAgICAgIGZlZV9kYXRhX2F2YWlsYWJpbGl0eV9tb2RlOiAnTDEnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW52b2tlUGF5bG9hZChkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnSU5WT0tFJyxcbiAgICAgIHZlcnNpb246ICcweDMnLFxuICAgICAgc2VuZGVyX2FkZHJlc3M6IGRhdGEuc2VuZGVyQWRkcmVzcyxcbiAgICAgIGNhbGxkYXRhOiByZXNvbHZlQ29tcGlsZWRDYWxsZGF0YShkYXRhKSxcbiAgICAgIHNpZ25hdHVyZTogZGF0YS5zaWduYXR1cmUgfHwgW10sXG4gICAgICBub25jZTogZGF0YS5ub25jZSxcbiAgICAgIHJlc291cmNlX2JvdW5kczogcmVzb2x2ZVJlc291cmNlQm91bmRzKGRhdGEpLFxuICAgICAgdGlwOiBkYXRhLnRpcCB8fCAnMHgwJyxcbiAgICAgIHBheW1hc3Rlcl9kYXRhOiBbXSxcbiAgICAgIGFjY291bnRfZGVwbG95bWVudF9kYXRhOiBbXSxcbiAgICAgIG5vbmNlX2RhdGFfYXZhaWxhYmlsaXR5X21vZGU6ICdMMScsXG4gICAgICBmZWVfZGF0YV9hdmFpbGFiaWxpdHlfbW9kZTogJ0wxJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oX2tleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { BaseAddress, BaseKey, BaseTransactionBuilder } from '@bitgo-beta/sdk-core';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import BigNumber from 'bignumber.js';
4
- import { StarknetTransactionType, StarknetCall } from './iface';
4
+ import { StarknetTransactionType, StarknetCall, StarknetResourceBounds } from './iface';
5
5
  import { Transaction } from './transaction';
6
6
  export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
7
7
  protected _transaction: Transaction;
@@ -10,10 +10,14 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
10
10
  protected _calls: StarknetCall[];
11
11
  protected _nonce?: string;
12
12
  protected _chainId?: string;
13
+ protected _resourceBounds: StarknetResourceBounds;
14
+ protected _tip: string;
13
15
  constructor(_coinConfig: Readonly<CoinConfig>);
14
16
  sender(address: string, pubKey?: string): this;
15
17
  nonce(nonce: string): this;
16
18
  chainId(chainId: string): this;
19
+ resourceBounds(rb: StarknetResourceBounds): this;
20
+ tip(tip: string): this;
17
21
  /** @inheritdoc */
18
22
  get transaction(): Transaction;
19
23
  /** @inheritdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAIvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAA2B,uBAAuB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,CAAM;IACtC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEhB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAKtC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAoB9C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKrC,kBAAkB;IAClB,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,kBAAkB;IAClB,IAAI,WAAW,CAAC,WAAW,EAAE,WAAW,EAEvC;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IASlC,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAM3C,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAS/B,kBAAkB;IAClB,mBAAmB,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI;IAYpD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMrC,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAMpD,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAKjE,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,uBAAuB,CAAC;IAElE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAc3D,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW;CAGzD"}
1
+ {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAIvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAA2B,uBAAuB,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,CAAM;IACtC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,eAAe,EAAE,sBAAsB,CAA2B;IAC5E,SAAS,CAAC,IAAI,SAAS;gBAEX,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAKtC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAoB9C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B,cAAc,CAAC,EAAE,EAAE,sBAAsB,GAAG,IAAI;IAKhD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7B,kBAAkB;IAClB,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,kBAAkB;IAClB,IAAI,WAAW,CAAC,WAAW,EAAE,WAAW,EAEvC;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAelC,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAM3C,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAS/B,kBAAkB;IAClB,mBAAmB,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI;IAYpD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMrC,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAMpD,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAKjE,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,uBAAuB,CAAC;IAElE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAgC3D,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW;CAGzD"}