@bitgo-beta/sdk-coin-starknet 0.0.1-beta.37 → 0.0.1-beta.371

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 (42) hide show
  1. package/dist/src/lib/constants.d.ts +3 -0
  2. package/dist/src/lib/constants.d.ts.map +1 -1
  3. package/dist/src/lib/constants.js +7 -2
  4. package/dist/src/lib/iface.d.ts +34 -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 +3 -1
  11. package/dist/src/lib/transaction.d.ts.map +1 -1
  12. package/dist/src/lib/transaction.js +59 -13
  13. package/dist/src/lib/transactionBuilderFactory.d.ts +4 -1
  14. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  15. package/dist/src/lib/transactionBuilderFactory.js +20 -4
  16. package/dist/src/lib/udcDeployBuilder.d.ts +30 -0
  17. package/dist/src/lib/udcDeployBuilder.d.ts.map +1 -0
  18. package/dist/src/lib/udcDeployBuilder.js +117 -0
  19. package/dist/src/lib/utils.d.ts +12 -1
  20. package/dist/src/lib/utils.d.ts.map +1 -1
  21. package/dist/src/lib/utils.js +76 -1
  22. package/dist/src/lib/walletInitializationBuilder.d.ts +26 -0
  23. package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  24. package/dist/src/lib/walletInitializationBuilder.js +117 -0
  25. package/dist/src/starknet.d.ts +8 -1
  26. package/dist/src/starknet.d.ts.map +1 -1
  27. package/dist/src/starknet.js +17 -3
  28. package/dist/test/unit/starknet.js +42 -1
  29. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +7 -1
  30. package/dist/test/unit/transferBuilder.js +2 -2
  31. package/dist/test/unit/udcDeployBuilder.d.ts +2 -0
  32. package/dist/test/unit/udcDeployBuilder.d.ts.map +1 -0
  33. package/dist/test/unit/udcDeployBuilder.js +182 -0
  34. package/dist/test/unit/utils.d.ts +1 -1
  35. package/dist/test/unit/utils.d.ts.map +1 -1
  36. package/dist/test/unit/utils.js +94 -2
  37. package/dist/test/unit/walletInitializationBuilder.d.ts +2 -0
  38. package/dist/test/unit/walletInitializationBuilder.d.ts.map +1 -0
  39. package/dist/test/unit/walletInitializationBuilder.js +123 -0
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +9 -9
  42. package/LICENSE +0 -191
@@ -1,12 +1,15 @@
1
1
  import { StarknetResourceBounds } from './iface';
2
2
  export declare const OZ_ETH_ACCOUNT_CLASS_HASH = "0x3940bc18abf1df6bc540cabadb1cad9486c6803b95801e57b6153ae21abfe06";
3
3
  export declare const STRK_TOKEN_CONTRACT = "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d";
4
+ export declare const UDC_ADDRESS = "0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf";
5
+ export declare const UDC_DEPLOY_ENTRYPOINT = "deployContract";
4
6
  export declare const FELT_MAX: bigint;
5
7
  export declare const MASK_128: bigint;
6
8
  export declare const ADDR_BOUND: bigint;
7
9
  export declare const CONTRACT_ADDRESS_PREFIX = 523065374597054866729014270389667305596563390979550329787219n;
8
10
  export declare const DEFAULT_SEED_SIZE_BYTES = 16;
9
11
  export declare const INVOKE_TX_PREFIX = 115923154332517n;
12
+ export declare const DEPLOY_ACCOUNT_TX_PREFIX = 2036277798190617858034555652763252n;
10
13
  export declare const TRANSACTION_VERSION_3 = 3n;
11
14
  export declare const L1_GAS_NAME = 83774935613779n;
12
15
  export declare const L2_GAS_NAME = 83779230581075n;
@@ -1 +1 @@
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,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,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
+ {"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,11 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.L1_DATA_GAS_NAME = exports.L2_GAS_NAME = exports.L1_GAS_NAME = exports.TRANSACTION_VERSION_3 = exports.INVOKE_TX_PREFIX = 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
4
  exports.defaultResourceBounds = defaultResourceBounds;
5
5
  // OZ EthAccountUpgradeable class hash (v0.17.0) — secp256k1 signature verification
6
6
  exports.OZ_ETH_ACCOUNT_CLASS_HASH = '0x3940bc18abf1df6bc540cabadb1cad9486c6803b95801e57b6153ae21abfe06';
7
7
  // STRK token contract (same on both mainnet and sepolia)
8
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';
9
12
  // felt252 max value (2^251 + 17 * 2^192 + 1)
10
13
  exports.FELT_MAX = (1n << 251n) + 17n * (1n << 192n) + 1n;
11
14
  // u256 split mask (128 bits)
@@ -17,6 +20,8 @@ exports.CONTRACT_ADDRESS_PREFIX = 0x535441524b4e45545f434f4e54524143545f41444452
17
20
  exports.DEFAULT_SEED_SIZE_BYTES = 16;
18
21
  // V3 transaction hash prefix: encodeShortString("invoke")
19
22
  exports.INVOKE_TX_PREFIX = 0x696e766f6b65n;
23
+ // V3 transaction hash prefix: encodeShortString("deploy_account")
24
+ exports.DEPLOY_ACCOUNT_TX_PREFIX = 0x6465706c6f795f6163636f756e74n;
20
25
  // V3 transaction version
21
26
  exports.TRANSACTION_VERSION_3 = 3n;
22
27
  // Resource bound type names (short-string encoded felts)
@@ -31,4 +36,4 @@ function defaultResourceBounds() {
31
36
  l1_data_gas: { max_amount: '0x3e8', max_price_per_unit: '0x2540be400' },
32
37
  };
33
38
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa0NBLHNEQU1DO0FBdENELG1GQUFtRjtBQUN0RSxRQUFBLHlCQUF5QixHQUFHLG1FQUFtRSxDQUFDO0FBRTdHLHlEQUF5RDtBQUM1QyxRQUFBLG1CQUFtQixHQUFHLG9FQUFvRSxDQUFDO0FBRXhHLDZDQUE2QztBQUNoQyxRQUFBLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRS9ELDZCQUE2QjtBQUNoQixRQUFBLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFMUMsc0NBQXNDO0FBQ3pCLFFBQUEsVUFBVSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRTVDLGlEQUFpRDtBQUNwQyxRQUFBLHVCQUF1QixHQUFHLHFEQUFxRCxDQUFDO0FBRWhGLFFBQUEsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRTFDLDBEQUEwRDtBQUM3QyxRQUFBLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztBQUVoRCx5QkFBeUI7QUFDWixRQUFBLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztBQUV4Qyx5REFBeUQ7QUFDNUMsUUFBQSxXQUFXLEdBQUcsZUFBZSxDQUFDLENBQUMsV0FBVztBQUMxQyxRQUFBLFdBQVcsR0FBRyxlQUFlLENBQUMsQ0FBQyxXQUFXO0FBQzFDLFFBQUEsZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxnQ0FBZ0M7QUFFbkYsd0VBQXdFO0FBQ3hFLFNBQWdCLHFCQUFxQjtJQUNuQyxPQUFPO1FBQ0wsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUU7UUFDdkUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRTtRQUNuRSxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRTtLQUN4RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHMgfSBmcm9tICcuL2lmYWNlJztcblxuLy8gT1ogRXRoQWNjb3VudFVwZ3JhZGVhYmxlIGNsYXNzIGhhc2ggKHYwLjE3LjApIOKAlCBzZWNwMjU2azEgc2lnbmF0dXJlIHZlcmlmaWNhdGlvblxuZXhwb3J0IGNvbnN0IE9aX0VUSF9BQ0NPVU5UX0NMQVNTX0hBU0ggPSAnMHgzOTQwYmMxOGFiZjFkZjZiYzU0MGNhYmFkYjFjYWQ5NDg2YzY4MDNiOTU4MDFlNTdiNjE1M2FlMjFhYmZlMDYnO1xuXG4vLyBTVFJLIHRva2VuIGNvbnRyYWN0IChzYW1lIG9uIGJvdGggbWFpbm5ldCBhbmQgc2Vwb2xpYSlcbmV4cG9ydCBjb25zdCBTVFJLX1RPS0VOX0NPTlRSQUNUID0gJzB4MDQ3MThmNWEwZmMzNGNjMWFmMTZhMWNkZWU5OGZmYjIwYzMxZjVjZDYxZDZhYjA3MjAxODU4ZjQyODdjOTM4ZCc7XG5cbi8vIGZlbHQyNTIgbWF4IHZhbHVlICgyXjI1MSArIDE3ICogMl4xOTIgKyAxKVxuZXhwb3J0IGNvbnN0IEZFTFRfTUFYID0gKDFuIDw8IDI1MW4pICsgMTduICogKDFuIDw8IDE5Mm4pICsgMW47XG5cbi8vIHUyNTYgc3BsaXQgbWFzayAoMTI4IGJpdHMpXG5leHBvcnQgY29uc3QgTUFTS18xMjggPSAoMW4gPDwgMTI4bikgLSAxbjtcblxuLy8gQ29udHJhY3QgYWRkcmVzcyBib3VuZDogMl4yNTEgLSAyNTZcbmV4cG9ydCBjb25zdCBBRERSX0JPVU5EID0gMm4gKiogMjUxbiAtIDI1Nm47XG5cbi8vIGVuY29kZVNob3J0U3RyaW5nKCdTVEFSS05FVF9DT05UUkFDVF9BRERSRVNTJylcbmV4cG9ydCBjb25zdCBDT05UUkFDVF9BRERSRVNTX1BSRUZJWCA9IDB4NTM1NDQxNTI0YjRlNDU1NDVmNDM0ZjRlNTQ1MjQxNDM1NDVmNDE0NDQ0NTI0NTUzNTNuO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TRUVEX1NJWkVfQllURVMgPSAxNjtcblxuLy8gVjMgdHJhbnNhY3Rpb24gaGFzaCBwcmVmaXg6IGVuY29kZVNob3J0U3RyaW5nKFwiaW52b2tlXCIpXG5leHBvcnQgY29uc3QgSU5WT0tFX1RYX1BSRUZJWCA9IDB4Njk2ZTc2NmY2YjY1bjtcblxuLy8gVjMgdHJhbnNhY3Rpb24gdmVyc2lvblxuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX1ZFUlNJT05fMyA9IDNuO1xuXG4vLyBSZXNvdXJjZSBib3VuZCB0eXBlIG5hbWVzIChzaG9ydC1zdHJpbmcgZW5jb2RlZCBmZWx0cylcbmV4cG9ydCBjb25zdCBMMV9HQVNfTkFNRSA9IDB4NGMzMTVmNDc0MTUzbjsgLy8gXCJMMV9HQVNcIlxuZXhwb3J0IGNvbnN0IEwyX0dBU19OQU1FID0gMHg0YzMyNWY0NzQxNTNuOyAvLyBcIkwyX0dBU1wiXG5leHBvcnQgY29uc3QgTDFfREFUQV9HQVNfTkFNRSA9IDB4NGMzMTVmNDQ0MTU0NDFuOyAvLyBcIkwxX0RBVEFcIiDigJQgTk9UIFwiTDFfREFUQV9HQVNcIlxuXG4vKiogRGVmYXVsdCB2MyByZXNvdXJjZSBib3VuZHMgKG1hdGNoZXMgVHJhbnNhY3Rpb25CdWlsZGVyIGRlZmF1bHRzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0UmVzb3VyY2VCb3VuZHMoKTogU3RhcmtuZXRSZXNvdXJjZUJvdW5kcyB7XG4gIHJldHVybiB7XG4gICAgbDJfZ2FzOiB7IG1heF9hbW91bnQ6ICcweDFjOWMzODAnLCBtYXhfcHJpY2VfcGVyX3VuaXQ6ICcweDE3NDg3NmU4MDAnIH0sXG4gICAgbDFfZ2FzOiB7IG1heF9hbW91bnQ6ICcweDAnLCBtYXhfcHJpY2VfcGVyX3VuaXQ6ICcweDVhZjMxMDdhNDAwMCcgfSxcbiAgICBsMV9kYXRhX2dhczogeyBtYXhfYW1vdW50OiAnMHgzZTgnLCBtYXhfcHJpY2VfcGVyX3VuaXQ6ICcweDI1NDBiZTQwMCcgfSxcbiAgfTtcbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeUNBLHNEQU1DO0FBN0NELG1GQUFtRjtBQUN0RSxRQUFBLHlCQUF5QixHQUFHLG1FQUFtRSxDQUFDO0FBRTdHLHlEQUF5RDtBQUM1QyxRQUFBLG1CQUFtQixHQUFHLG9FQUFvRSxDQUFDO0FBRXhHLDRDQUE0QztBQUMvQixRQUFBLFdBQVcsR0FBRyxvRUFBb0UsQ0FBQztBQUNuRixRQUFBLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0FBRXRELDZDQUE2QztBQUNoQyxRQUFBLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRS9ELDZCQUE2QjtBQUNoQixRQUFBLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFMUMsc0NBQXNDO0FBQ3pCLFFBQUEsVUFBVSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRTVDLGlEQUFpRDtBQUNwQyxRQUFBLHVCQUF1QixHQUFHLHFEQUFxRCxDQUFDO0FBRWhGLFFBQUEsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRTFDLDBEQUEwRDtBQUM3QyxRQUFBLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztBQUVoRCxrRUFBa0U7QUFDckQsUUFBQSx3QkFBd0IsR0FBRywrQkFBK0IsQ0FBQztBQUV4RSx5QkFBeUI7QUFDWixRQUFBLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztBQUV4Qyx5REFBeUQ7QUFDNUMsUUFBQSxXQUFXLEdBQUcsZUFBZSxDQUFDLENBQUMsV0FBVztBQUMxQyxRQUFBLFdBQVcsR0FBRyxlQUFlLENBQUMsQ0FBQyxXQUFXO0FBQzFDLFFBQUEsZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxnQ0FBZ0M7QUFFbkYsd0VBQXdFO0FBQ3hFLFNBQWdCLHFCQUFxQjtJQUNuQyxPQUFPO1FBQ0wsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUU7UUFDdkUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRTtRQUNuRSxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRTtLQUN4RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHMgfSBmcm9tICcuL2lmYWNlJztcblxuLy8gT1ogRXRoQWNjb3VudFVwZ3JhZGVhYmxlIGNsYXNzIGhhc2ggKHYwLjE3LjApIOKAlCBzZWNwMjU2azEgc2lnbmF0dXJlIHZlcmlmaWNhdGlvblxuZXhwb3J0IGNvbnN0IE9aX0VUSF9BQ0NPVU5UX0NMQVNTX0hBU0ggPSAnMHgzOTQwYmMxOGFiZjFkZjZiYzU0MGNhYmFkYjFjYWQ5NDg2YzY4MDNiOTU4MDFlNTdiNjE1M2FlMjFhYmZlMDYnO1xuXG4vLyBTVFJLIHRva2VuIGNvbnRyYWN0IChzYW1lIG9uIGJvdGggbWFpbm5ldCBhbmQgc2Vwb2xpYSlcbmV4cG9ydCBjb25zdCBTVFJLX1RPS0VOX0NPTlRSQUNUID0gJzB4MDQ3MThmNWEwZmMzNGNjMWFmMTZhMWNkZWU5OGZmYjIwYzMxZjVjZDYxZDZhYjA3MjAxODU4ZjQyODdjOTM4ZCc7XG5cbi8vIFVEQyDigJQgc2FtZSBhZGRyZXNzIG9uIG1haW5uZXQgYW5kIFNlcG9saWFcbmV4cG9ydCBjb25zdCBVRENfQUREUkVTUyA9ICcweDA0MWE3OGU3NDFlNWFmMmZlYzM0YjY5NTY3OWJjNjg5MTc0MjQzOWY3YWZiODQ4NGVjZDc3NjY2NjFhZDAyYmYnO1xuZXhwb3J0IGNvbnN0IFVEQ19ERVBMT1lfRU5UUllQT0lOVCA9ICdkZXBsb3lDb250cmFjdCc7XG5cbi8vIGZlbHQyNTIgbWF4IHZhbHVlICgyXjI1MSArIDE3ICogMl4xOTIgKyAxKVxuZXhwb3J0IGNvbnN0IEZFTFRfTUFYID0gKDFuIDw8IDI1MW4pICsgMTduICogKDFuIDw8IDE5Mm4pICsgMW47XG5cbi8vIHUyNTYgc3BsaXQgbWFzayAoMTI4IGJpdHMpXG5leHBvcnQgY29uc3QgTUFTS18xMjggPSAoMW4gPDwgMTI4bikgLSAxbjtcblxuLy8gQ29udHJhY3QgYWRkcmVzcyBib3VuZDogMl4yNTEgLSAyNTZcbmV4cG9ydCBjb25zdCBBRERSX0JPVU5EID0gMm4gKiogMjUxbiAtIDI1Nm47XG5cbi8vIGVuY29kZVNob3J0U3RyaW5nKCdTVEFSS05FVF9DT05UUkFDVF9BRERSRVNTJylcbmV4cG9ydCBjb25zdCBDT05UUkFDVF9BRERSRVNTX1BSRUZJWCA9IDB4NTM1NDQxNTI0YjRlNDU1NDVmNDM0ZjRlNTQ1MjQxNDM1NDVmNDE0NDQ0NTI0NTUzNTNuO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TRUVEX1NJWkVfQllURVMgPSAxNjtcblxuLy8gVjMgdHJhbnNhY3Rpb24gaGFzaCBwcmVmaXg6IGVuY29kZVNob3J0U3RyaW5nKFwiaW52b2tlXCIpXG5leHBvcnQgY29uc3QgSU5WT0tFX1RYX1BSRUZJWCA9IDB4Njk2ZTc2NmY2YjY1bjtcblxuLy8gVjMgdHJhbnNhY3Rpb24gaGFzaCBwcmVmaXg6IGVuY29kZVNob3J0U3RyaW5nKFwiZGVwbG95X2FjY291bnRcIilcbmV4cG9ydCBjb25zdCBERVBMT1lfQUNDT1VOVF9UWF9QUkVGSVggPSAweDY0NjU3MDZjNmY3OTVmNjE2MzYzNmY3NTZlNzRuO1xuXG4vLyBWMyB0cmFuc2FjdGlvbiB2ZXJzaW9uXG5leHBvcnQgY29uc3QgVFJBTlNBQ1RJT05fVkVSU0lPTl8zID0gM247XG5cbi8vIFJlc291cmNlIGJvdW5kIHR5cGUgbmFtZXMgKHNob3J0LXN0cmluZyBlbmNvZGVkIGZlbHRzKVxuZXhwb3J0IGNvbnN0IEwxX0dBU19OQU1FID0gMHg0YzMxNWY0NzQxNTNuOyAvLyBcIkwxX0dBU1wiXG5leHBvcnQgY29uc3QgTDJfR0FTX05BTUUgPSAweDRjMzI1ZjQ3NDE1M247IC8vIFwiTDJfR0FTXCJcbmV4cG9ydCBjb25zdCBMMV9EQVRBX0dBU19OQU1FID0gMHg0YzMxNWY0NDQxNTQ0MW47IC8vIFwiTDFfREFUQVwiIOKAlCBOT1QgXCJMMV9EQVRBX0dBU1wiXG5cbi8qKiBEZWZhdWx0IHYzIHJlc291cmNlIGJvdW5kcyAobWF0Y2hlcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZGVmYXVsdHMpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRSZXNvdXJjZUJvdW5kcygpOiBTdGFya25ldFJlc291cmNlQm91bmRzIHtcbiAgcmV0dXJuIHtcbiAgICBsMl9nYXM6IHsgbWF4X2Ftb3VudDogJzB4MWM5YzM4MCcsIG1heF9wcmljZV9wZXJfdW5pdDogJzB4MTc0ODc2ZTgwMCcgfSxcbiAgICBsMV9nYXM6IHsgbWF4X2Ftb3VudDogJzB4MCcsIG1heF9wcmljZV9wZXJfdW5pdDogJzB4NWFmMzEwN2E0MDAwJyB9LFxuICAgIGwxX2RhdGFfZ2FzOiB7IG1heF9hbW91bnQ6ICcweDNlOCcsIG1heF9wcmljZV9wZXJfdW5pdDogJzB4MjU0MGJlNDAwJyB9LFxuICB9O1xufVxuIl19
@@ -35,6 +35,14 @@ export interface StarknetTransactionData {
35
35
  nonceDataAvailabilityMode?: number;
36
36
  feeDataAvailabilityMode?: number;
37
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;
38
46
  }
39
47
  export interface InvokeTransactionHashParams {
40
48
  senderAddress: string;
@@ -49,11 +57,37 @@ export interface InvokeTransactionHashParams {
49
57
  accountDeploymentData?: string[];
50
58
  proofFacts?: string[];
51
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[];
72
+ }
52
73
  export interface ParsedTransferData {
53
74
  recipient: string;
54
75
  amount: string;
55
76
  tokenContract: string;
56
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
+ }
57
91
  export interface TxData {
58
92
  id?: string;
59
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;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,sBAAsB,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQyw0Q0FBaUIsQ0FBQTtJQUNqQiw0REFBaUMsQ0FBQTtBQUNuQyxDQUFDLEVBSFcsdUJBQXVCLHVDQUF2Qix1QkFBdUIsUUFHbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG4gIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmV4cG9ydCBlbnVtIFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlIHtcbiAgSU5WT0tFID0gJ0lOVk9LRScsXG4gIERFUExPWV9BQ0NPVU5UID0gJ0RFUExPWV9BQ0NPVU5UJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFya25ldENhbGwge1xuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgZW50cnlwb2ludDogc3RyaW5nO1xuICBjYWxsZGF0YTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcmtuZXRSZXNvdXJjZUJvdW5kcyB7XG4gIGwyX2dhczogeyBtYXhfYW1vdW50OiBzdHJpbmc7IG1heF9wcmljZV9wZXJfdW5pdDogc3RyaW5nIH07XG4gIGwxX2dhczogeyBtYXhfYW1vdW50OiBzdHJpbmc7IG1heF9wcmljZV9wZXJfdW5pdDogc3RyaW5nIH07XG4gIGwxX2RhdGFfZ2FzOiB7IG1heF9hbW91bnQ6IHN0cmluZzsgbWF4X3ByaWNlX3Blcl91bml0OiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSB7XG4gIHNlbmRlckFkZHJlc3M6IHN0cmluZztcbiAgY2FsbHM6IFN0YXJrbmV0Q2FsbFtdO1xuICBub25jZTogc3RyaW5nO1xuICBjaGFpbklkOiBzdHJpbmc7XG4gIHJlc291cmNlQm91bmRzPzogU3RhcmtuZXRSZXNvdXJjZUJvdW5kcztcbiAgdHJhbnNhY3Rpb25UeXBlOiBTdGFya25ldFRyYW5zYWN0aW9uVHlwZTtcbiAgc2lnbmF0dXJlPzogc3RyaW5nW107XG4gIHRyYW5zYWN0aW9uSGFzaD86IHN0cmluZztcbiAgdGlwPzogc3RyaW5nO1xuICBub25jZURhdGFBdmFpbGFiaWxpdHlNb2RlPzogbnVtYmVyO1xuICBmZWVEYXRhQXZhaWxhYmlsaXR5TW9kZT86IG51bWJlcjtcbiAgY29tcGlsZWRDYWxsZGF0YT86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludm9rZVRyYW5zYWN0aW9uSGFzaFBhcmFtcyB7XG4gIHNlbmRlckFkZHJlc3M6IHN0cmluZztcbiAgY29tcGlsZWRDYWxsZGF0YTogc3RyaW5nW107XG4gIGNoYWluSWQ6IHN0cmluZztcbiAgbm9uY2U6IHN0cmluZztcbiAgcmVzb3VyY2VCb3VuZHM6IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHM7XG4gIHRpcD86IHN0cmluZztcbiAgbm9uY2VEYXRhQXZhaWxhYmlsaXR5TW9kZT86IG51bWJlcjtcbiAgZmVlRGF0YUF2YWlsYWJpbGl0eU1vZGU/OiBudW1iZXI7XG4gIHBheW1hc3RlckRhdGE/OiBzdHJpbmdbXTtcbiAgYWNjb3VudERlcGxveW1lbnREYXRhPzogc3RyaW5nW107XG4gIHByb29mRmFjdHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRUcmFuc2ZlckRhdGEge1xuICByZWNpcGllbnQ6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHRva2VuQ29udHJhY3Q6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZD86IHN0cmluZztcbiAgc2VuZGVyOiBzdHJpbmc7XG4gIHNlbmRlclB1YmxpY0tleT86IHN0cmluZztcbiAgcmVjaXBpZW50Pzogc3RyaW5nO1xuICBhbW91bnQ/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==
@@ -17,8 +17,10 @@ export declare class Transaction extends BaseTransaction {
17
17
  explainTransaction(): StarknetTransactionExplanation;
18
18
  /** Hex-encoded internal JSON — used by WP for round-trip via fromRawTransaction. */
19
19
  toInternalHex(): string;
20
- /** @inheritdoc — returns Starknet RPC-ready JSON string for starknet_addInvokeTransaction. */
20
+ /** @inheritdoc — returns Starknet RPC-ready JSON for addInvoke or addDeployAccount. */
21
21
  toBroadcastFormat(): string;
22
+ private buildDeployAccountPayload;
23
+ private buildInvokePayload;
22
24
  /** @inheritdoc */
23
25
  canSign(_key: BaseKey): boolean;
24
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;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,CAExB;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;IAgC/D,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAkBhB,kBAAkB;IAClB,kBAAkB,IAAI,8BAA8B;IAwBpD,oFAAoF;IACpF,aAAa,IAAI,MAAM;IAQvB,8FAA8F;IAC9F,iBAAiB,IAAI,MAAM;IAqB3B,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"}
@@ -64,7 +64,10 @@ class Transaction extends sdk_core_1.BaseTransaction {
64
64
  }
65
65
  }
66
66
  get signableHex() {
67
- return this._starknetTransactionData?.transactionHash || '';
67
+ const hash = this._starknetTransactionData?.transactionHash;
68
+ if (!hash)
69
+ return '';
70
+ return hash.replace(/^0x/i, '').padStart(64, '0');
68
71
  }
69
72
  get signedTransaction() {
70
73
  return this._signedTransaction;
@@ -79,6 +82,7 @@ class Transaction extends sdk_core_1.BaseTransaction {
79
82
  const parsed = JSON.parse(jsonString);
80
83
  this._starknetTransactionData = {
81
84
  senderAddress: parsed.senderAddress,
85
+ contractAddress: parsed.contractAddress,
82
86
  calls: parsed.calls || [],
83
87
  nonce: parsed.nonce,
84
88
  chainId: parsed.chainId,
@@ -90,6 +94,9 @@ class Transaction extends sdk_core_1.BaseTransaction {
90
94
  compiledCalldata: parsed.compiledCalldata,
91
95
  nonceDataAvailabilityMode: parsed.nonceDataAvailabilityMode,
92
96
  feeDataAvailabilityMode: parsed.feeDataAvailabilityMode,
97
+ classHash: parsed.classHash,
98
+ constructorCalldata: parsed.constructorCalldata,
99
+ contractAddressSalt: parsed.contractAddressSalt,
93
100
  };
94
101
  if (parsed.signature && parsed.signature.length > 0) {
95
102
  this._signedTransaction = rawTransaction;
@@ -106,17 +113,30 @@ class Transaction extends sdk_core_1.BaseTransaction {
106
113
  if (!this._starknetTransactionData) {
107
114
  throw new sdk_core_1.InvalidTransactionError('Empty transaction');
108
115
  }
109
- const transfer = this._starknetTransactionData.calls.length > 0
110
- ? (0, utils_1.parseTransferCall)(this._starknetTransactionData.calls[0])
111
- : undefined;
112
- return {
116
+ const data = this._starknetTransactionData;
117
+ const result = {
113
118
  id: this._id,
114
- sender: this._starknetTransactionData.senderAddress,
115
- recipient: transfer?.recipient,
116
- amount: transfer?.amount,
117
- nonce: this._starknetTransactionData.nonce,
119
+ sender: data.senderAddress,
120
+ nonce: data.nonce,
118
121
  type: sdk_core_1.TransactionType.Send,
119
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;
120
140
  }
121
141
  /** @inheritDoc */
122
142
  explainTransaction() {
@@ -148,13 +168,39 @@ class Transaction extends sdk_core_1.BaseTransaction {
148
168
  }
149
169
  return Buffer.from(JSON.stringify(data), 'utf-8').toString('hex');
150
170
  }
151
- /** @inheritdoc — returns Starknet RPC-ready JSON string for starknet_addInvokeTransaction. */
171
+ /** @inheritdoc — returns Starknet RPC-ready JSON for addInvoke or addDeployAccount. */
152
172
  toBroadcastFormat() {
153
173
  const data = this._starknetTransactionData;
154
174
  if (!data) {
155
175
  throw new sdk_core_1.InvalidTransactionError('Empty transaction');
156
176
  }
157
- return JSON.stringify({
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 {
158
204
  type: 'INVOKE',
159
205
  version: '0x3',
160
206
  sender_address: data.senderAddress,
@@ -167,7 +213,7 @@ class Transaction extends sdk_core_1.BaseTransaction {
167
213
  account_deployment_data: [],
168
214
  nonce_data_availability_mode: 'L1',
169
215
  fee_data_availability_mode: 'L1',
170
- });
216
+ };
171
217
  }
172
218
  /** @inheritdoc */
173
219
  canSign(_key) {
@@ -175,4 +221,4 @@ class Transaction extends sdk_core_1.BaseTransaction {
175
221
  }
176
222
  }
177
223
  exports.Transaction = Transaction;
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQU04QjtBQUU5QiwyQ0FBb0Q7QUFDcEQsbUNBTWlCO0FBQ2pCLGlEQUEyRTtBQUUzRSxTQUFTLHVCQUF1QixDQUFDLElBQTZCO0lBQzVELElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFBLDhCQUFzQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGdEQUFnRCxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsSUFBNkI7SUFDMUQsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUEsaUNBQXFCLEdBQUUsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBYSxXQUFZLFNBQVEsMEJBQWU7SUFJOUMsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLHVCQUF1QixDQUFDLElBQTZCO1FBQ3ZELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsR0FB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cEUsQ0FBQztJQUVELDhGQUE4RjtJQUM5RixpQkFBaUI7UUFDZixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDM0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxJQUFJLGtDQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQixJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxLQUFLO1lBQ2QsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2xDLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7WUFDdkMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsZUFBZSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUM1QyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLO1lBQ3RCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLHVCQUF1QixFQUFFLEVBQUU7WUFDM0IsNEJBQTRCLEVBQUUsSUFBSTtZQUNsQywwQkFBMEIsRUFBRSxJQUFJO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTyxDQUFDLElBQWE7UUFDbkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0Y7QUE5SUQsa0NBOElDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgZGVmYXVsdFJlc291cmNlQm91bmRzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgU3RhcmtuZXRSZXNvdXJjZUJvdW5kcyxcbiAgU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEsXG4gIFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlLFxuICBTdGFya25ldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFR4RGF0YSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMsIHsgY29tcGlsZUV4ZWN1dGVDYWxsZGF0YSwgcGFyc2VUcmFuc2ZlckNhbGwgfSBmcm9tICcuL3V0aWxzJztcblxuZnVuY3Rpb24gcmVzb2x2ZUNvbXBpbGVkQ2FsbGRhdGEoZGF0YTogU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEpOiBzdHJpbmdbXSB7XG4gIGlmIChkYXRhLmNvbXBpbGVkQ2FsbGRhdGEgJiYgZGF0YS5jb21waWxlZENhbGxkYXRhLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gZGF0YS5jb21waWxlZENhbGxkYXRhO1xuICB9XG4gIGlmIChkYXRhLmNhbGxzLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gY29tcGlsZUV4ZWN1dGVDYWxsZGF0YShkYXRhLmNhbGxzKTtcbiAgfVxuICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgY2FsbGRhdGE6IG5vIGNvbXBpbGVkQ2FsbGRhdGEgb3IgY2FsbHMnKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVJlc291cmNlQm91bmRzKGRhdGE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKTogU3RhcmtuZXRSZXNvdXJjZUJvdW5kcyB7XG4gIHJldHVybiBkYXRhLnJlc291cmNlQm91bmRzID8/IGRlZmF1bHRSZXNvdXJjZUJvdW5kcygpO1xufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhITogU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG4gIHByb3RlY3RlZCBfc2lnbmVkVHJhbnNhY3Rpb24/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0IHN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKCk6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG4gIH1cblxuICBzZXQgc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEoZGF0YTogU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEpIHtcbiAgICB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSA9IGRhdGE7XG4gICAgaWYgKGRhdGEudHJhbnNhY3Rpb25IYXNoKSB7XG4gICAgICB0aGlzLl9pZCA9IGRhdGEudHJhbnNhY3Rpb25IYXNoO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaWduYWJsZUhleCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YT8udHJhbnNhY3Rpb25IYXNoIHx8ICcnO1xuICB9XG5cbiAgZ2V0IHNpZ25lZFRyYW5zYWN0aW9uKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IHNpZ25lZFRyYW5zYWN0aW9uKHR4OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgYXN5bmMgZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmZyb20ocmF3VHJhbnNhY3Rpb24sICdoZXgnKTtcbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSBidWZmZXIudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGpzb25TdHJpbmcpO1xuXG4gICAgICB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgICAgc2VuZGVyQWRkcmVzczogcGFyc2VkLnNlbmRlckFkZHJlc3MsXG4gICAgICAgIGNhbGxzOiBwYXJzZWQuY2FsbHMgfHwgW10sXG4gICAgICAgIG5vbmNlOiBwYXJzZWQubm9uY2UsXG4gICAgICAgIGNoYWluSWQ6IHBhcnNlZC5jaGFpbklkLFxuICAgICAgICB0cmFuc2FjdGlvblR5cGU6IHBhcnNlZC50cmFuc2FjdGlvblR5cGUgfHwgU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUuSU5WT0tFLFxuICAgICAgICBzaWduYXR1cmU6IHBhcnNlZC5zaWduYXR1cmUsXG4gICAgICAgIHRyYW5zYWN0aW9uSGFzaDogcGFyc2VkLnRyYW5zYWN0aW9uSGFzaCxcbiAgICAgICAgcmVzb3VyY2VCb3VuZHM6IHBhcnNlZC5yZXNvdXJjZUJvdW5kcyxcbiAgICAgICAgdGlwOiBwYXJzZWQudGlwLFxuICAgICAgICBjb21waWxlZENhbGxkYXRhOiBwYXJzZWQuY29tcGlsZWRDYWxsZGF0YSxcbiAgICAgICAgbm9uY2VEYXRhQXZhaWxhYmlsaXR5TW9kZTogcGFyc2VkLm5vbmNlRGF0YUF2YWlsYWJpbGl0eU1vZGUsXG4gICAgICAgIGZlZURhdGFBdmFpbGFiaWxpdHlNb2RlOiBwYXJzZWQuZmVlRGF0YUF2YWlsYWJpbGl0eU1vZGUsXG4gICAgICB9O1xuXG4gICAgICBpZiAocGFyc2VkLnNpZ25hdHVyZSAmJiBwYXJzZWQuc2lnbmF0dXJlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24gPSByYXdUcmFuc2FjdGlvbjtcbiAgICAgIH1cblxuICAgICAgdXRpbHMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbih0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSk7XG4gICAgICB0aGlzLl9pZCA9IHBhcnNlZC50cmFuc2FjdGlvbkhhc2ggfHwgJyc7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCB0cmFuc2FjdGlvbjogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IHRyYW5zZmVyID1cbiAgICAgIHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLmNhbGxzLmxlbmd0aCA+IDBcbiAgICAgICAgPyBwYXJzZVRyYW5zZmVyQ2FsbCh0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YS5jYWxsc1swXSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLl9pZCxcbiAgICAgIHNlbmRlcjogdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEuc2VuZGVyQWRkcmVzcyxcbiAgICAgIHJlY2lwaWVudDogdHJhbnNmZXI/LnJlY2lwaWVudCxcbiAgICAgIGFtb3VudDogdHJhbnNmZXI/LmFtb3VudCxcbiAgICAgIG5vbmNlOiB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YS5ub25jZSxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZS5TZW5kLFxuICAgIH07XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uKCk6IFN0YXJrbmV0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy50b0pzb24oKTtcbiAgICBjb25zdCBkaXNwbGF5T3JkZXIgPSBbJ2lkJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VBbW91bnQnLCAnb3V0cHV0cycsICdjaGFuZ2VPdXRwdXRzJywgJ2ZlZSddO1xuICAgIGNvbnN0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSBbXTtcblxuICAgIGlmIChyZXN1bHQucmVjaXBpZW50ICYmIHJlc3VsdC5hbW91bnQpIHtcbiAgICAgIG91dHB1dHMucHVzaCh7XG4gICAgICAgIGFkZHJlc3M6IHJlc3VsdC5yZWNpcGllbnQsXG4gICAgICAgIGFtb3VudDogcmVzdWx0LmFtb3VudCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5T3JkZXIsXG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIG91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQ6IHJlc3VsdC5hbW91bnQgfHwgJzAnLFxuICAgICAgZmVlOiB7IGZlZTogJzAnIH0sXG4gICAgICB0eXBlOiByZXN1bHQudHlwZSxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBIZXgtZW5jb2RlZCBpbnRlcm5hbCBKU09OIOKAlCB1c2VkIGJ5IFdQIGZvciByb3VuZC10cmlwIHZpYSBmcm9tUmF3VHJhbnNhY3Rpb24uICovXG4gIHRvSW50ZXJuYWxIZXgoKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShkYXRhKSwgJ3V0Zi04JykudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jIOKAlCByZXR1cm5zIFN0YXJrbmV0IFJQQy1yZWFkeSBKU09OIHN0cmluZyBmb3Igc3RhcmtuZXRfYWRkSW52b2tlVHJhbnNhY3Rpb24uICovXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICAgIGlmICghZGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgdHlwZTogJ0lOVk9LRScsXG4gICAgICB2ZXJzaW9uOiAnMHgzJyxcbiAgICAgIHNlbmRlcl9hZGRyZXNzOiBkYXRhLnNlbmRlckFkZHJlc3MsXG4gICAgICBjYWxsZGF0YTogcmVzb2x2ZUNvbXBpbGVkQ2FsbGRhdGEoZGF0YSksXG4gICAgICBzaWduYXR1cmU6IGRhdGEuc2lnbmF0dXJlIHx8IFtdLFxuICAgICAgbm9uY2U6IGRhdGEubm9uY2UsXG4gICAgICByZXNvdXJjZV9ib3VuZHM6IHJlc29sdmVSZXNvdXJjZUJvdW5kcyhkYXRhKSxcbiAgICAgIHRpcDogZGF0YS50aXAgfHwgJzB4MCcsXG4gICAgICBwYXltYXN0ZXJfZGF0YTogW10sXG4gICAgICBhY2NvdW50X2RlcGxveW1lbnRfZGF0YTogW10sXG4gICAgICBub25jZV9kYXRhX2F2YWlsYWJpbGl0eV9tb2RlOiAnTDEnLFxuICAgICAgZmVlX2RhdGFfYXZhaWxhYmlsaXR5X21vZGU6ICdMMScsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgY2FuU2lnbihfa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQU04QjtBQUU5QiwyQ0FBb0Q7QUFDcEQsbUNBTWlCO0FBQ2pCLGlEQUErRjtBQUUvRixTQUFTLHVCQUF1QixDQUFDLElBQTZCO0lBQzVELElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFBLDhCQUFzQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGdEQUFnRCxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsSUFBNkI7SUFDMUQsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUEsaUNBQXFCLEdBQUUsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBYSxXQUFZLFNBQVEsMEJBQWU7SUFJOUMsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLHVCQUF1QixDQUFDLElBQTZCO1FBQ3ZELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsR0FB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YTtZQUNsQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7WUFDNUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksS0FBSztZQUN0QixjQUFjLEVBQUUsRUFBRTtZQUNsQix1QkFBdUIsRUFBRSxFQUFFO1lBQzNCLDRCQUE0QixFQUFFLElBQUk7WUFDbEMsMEJBQTBCLEVBQUUsSUFBSTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNsQixPQUFPLENBQUMsSUFBYTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQXpNRCxrQ0F5TUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBkZWZhdWx0UmVzb3VyY2VCb3VuZHMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBTdGFya25ldFJlc291cmNlQm91bmRzLFxuICBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSxcbiAgU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUsXG4gIFN0YXJrbmV0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgVHhEYXRhLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB1dGlscywgeyBjb21waWxlRXhlY3V0ZUNhbGxkYXRhLCBwYXJzZVRyYW5zZmVyQ2FsbCwgcGFyc2VVZGNEZXBsb3lDYWxsIH0gZnJvbSAnLi91dGlscyc7XG5cbmZ1bmN0aW9uIHJlc29sdmVDb21waWxlZENhbGxkYXRhKGRhdGE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKTogc3RyaW5nW10ge1xuICBpZiAoZGF0YS5jb21waWxlZENhbGxkYXRhICYmIGRhdGEuY29tcGlsZWRDYWxsZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGRhdGEuY29tcGlsZWRDYWxsZGF0YTtcbiAgfVxuICBpZiAoZGF0YS5jYWxscy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGNvbXBpbGVFeGVjdXRlQ2FsbGRhdGEoZGF0YS5jYWxscyk7XG4gIH1cbiAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGNhbGxkYXRhOiBubyBjb21waWxlZENhbGxkYXRhIG9yIGNhbGxzJyk7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVSZXNvdXJjZUJvdW5kcyhkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSk6IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHMge1xuICByZXR1cm4gZGF0YS5yZXNvdXJjZUJvdW5kcyA/PyBkZWZhdWx0UmVzb3VyY2VCb3VuZHMoKTtcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICBwcm90ZWN0ZWQgX3NpZ25lZFRyYW5zYWN0aW9uPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldCBzdGFya25ldFRyYW5zYWN0aW9uRGF0YSgpOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICB9XG5cbiAgc2V0IHN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKGRhdGE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEgPSBkYXRhO1xuICAgIGlmIChkYXRhLnRyYW5zYWN0aW9uSGFzaCkge1xuICAgICAgdGhpcy5faWQgPSBkYXRhLnRyYW5zYWN0aW9uSGFzaDtcbiAgICB9XG4gIH1cblxuICBnZXQgc2lnbmFibGVIZXgoKTogc3RyaW5nIHtcbiAgICBjb25zdCBoYXNoID0gdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE/LnRyYW5zYWN0aW9uSGFzaDtcbiAgICBpZiAoIWhhc2gpIHJldHVybiAnJztcbiAgICByZXR1cm4gaGFzaC5yZXBsYWNlKC9eMHgvaSwgJycpLnBhZFN0YXJ0KDY0LCAnMCcpO1xuICB9XG5cbiAgZ2V0IHNpZ25lZFRyYW5zYWN0aW9uKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IHNpZ25lZFRyYW5zYWN0aW9uKHR4OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgYXN5bmMgZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmZyb20ocmF3VHJhbnNhY3Rpb24sICdoZXgnKTtcbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSBidWZmZXIudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGpzb25TdHJpbmcpO1xuXG4gICAgICB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgICAgc2VuZGVyQWRkcmVzczogcGFyc2VkLnNlbmRlckFkZHJlc3MsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogcGFyc2VkLmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgY2FsbHM6IHBhcnNlZC5jYWxscyB8fCBbXSxcbiAgICAgICAgbm9uY2U6IHBhcnNlZC5ub25jZSxcbiAgICAgICAgY2hhaW5JZDogcGFyc2VkLmNoYWluSWQsXG4gICAgICAgIHRyYW5zYWN0aW9uVHlwZTogcGFyc2VkLnRyYW5zYWN0aW9uVHlwZSB8fCBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5JTlZPS0UsXG4gICAgICAgIHNpZ25hdHVyZTogcGFyc2VkLnNpZ25hdHVyZSxcbiAgICAgICAgdHJhbnNhY3Rpb25IYXNoOiBwYXJzZWQudHJhbnNhY3Rpb25IYXNoLFxuICAgICAgICByZXNvdXJjZUJvdW5kczogcGFyc2VkLnJlc291cmNlQm91bmRzLFxuICAgICAgICB0aXA6IHBhcnNlZC50aXAsXG4gICAgICAgIGNvbXBpbGVkQ2FsbGRhdGE6IHBhcnNlZC5jb21waWxlZENhbGxkYXRhLFxuICAgICAgICBub25jZURhdGFBdmFpbGFiaWxpdHlNb2RlOiBwYXJzZWQubm9uY2VEYXRhQXZhaWxhYmlsaXR5TW9kZSxcbiAgICAgICAgZmVlRGF0YUF2YWlsYWJpbGl0eU1vZGU6IHBhcnNlZC5mZWVEYXRhQXZhaWxhYmlsaXR5TW9kZSxcbiAgICAgICAgY2xhc3NIYXNoOiBwYXJzZWQuY2xhc3NIYXNoLFxuICAgICAgICBjb25zdHJ1Y3RvckNhbGxkYXRhOiBwYXJzZWQuY29uc3RydWN0b3JDYWxsZGF0YSxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzU2FsdDogcGFyc2VkLmNvbnRyYWN0QWRkcmVzc1NhbHQsXG4gICAgICB9O1xuXG4gICAgICBpZiAocGFyc2VkLnNpZ25hdHVyZSAmJiBwYXJzZWQuc2lnbmF0dXJlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24gPSByYXdUcmFuc2FjdGlvbjtcbiAgICAgIH1cblxuICAgICAgdXRpbHMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbih0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSk7XG4gICAgICB0aGlzLl9pZCA9IHBhcnNlZC50cmFuc2FjdGlvbkhhc2ggfHwgJyc7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCB0cmFuc2FjdGlvbjogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICAgIGNvbnN0IHJlc3VsdDogVHhEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuX2lkLFxuICAgICAgc2VuZGVyOiBkYXRhLnNlbmRlckFkZHJlc3MsXG4gICAgICBub25jZTogZGF0YS5ub25jZSxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZS5TZW5kLFxuICAgIH07XG5cbiAgICBjb25zdCBmaXJzdENhbGwgPSBkYXRhLmNhbGxzWzBdO1xuICAgIGlmICghZmlyc3RDYWxsKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zZmVyID0gcGFyc2VUcmFuc2ZlckNhbGwoZmlyc3RDYWxsKTtcbiAgICBpZiAodHJhbnNmZXIpIHtcbiAgICAgIHJlc3VsdC5yZWNpcGllbnQgPSB0cmFuc2Zlci5yZWNpcGllbnQ7XG4gICAgICByZXN1bHQuYW1vdW50ID0gdHJhbnNmZXIuYW1vdW50O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBjb25zdCB1ZGNEZXBsb3kgPSBwYXJzZVVkY0RlcGxveUNhbGwoZmlyc3RDYWxsKTtcbiAgICBpZiAodWRjRGVwbG95ICYmICF1ZGNEZXBsb3kudW5pcXVlKSB7XG4gICAgICByZXN1bHQucmVjaXBpZW50ID0gdXRpbHMuY2FsY3VsYXRlQ29udHJhY3RBZGRyZXNzRnJvbUhhc2goXG4gICAgICAgIHVkY0RlcGxveS5zYWx0LFxuICAgICAgICB1ZGNEZXBsb3kuY2xhc3NIYXNoLFxuICAgICAgICB1ZGNEZXBsb3kuY29uc3RydWN0b3JDYWxsZGF0YSxcbiAgICAgICAgMFxuICAgICAgKTtcbiAgICAgIHJlc3VsdC5hbW91bnQgPSAnMCc7XG4gICAgICByZXN1bHQudHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5Db250cmFjdENhbGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBleHBsYWluVHJhbnNhY3Rpb24oKTogU3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnaWQnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZUFtb3VudCcsICdvdXRwdXRzJywgJ2NoYW5nZU91dHB1dHMnLCAnZmVlJ107XG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtdO1xuXG4gICAgaWYgKHJlc3VsdC5yZWNpcGllbnQgJiYgcmVzdWx0LmFtb3VudCkge1xuICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogcmVzdWx0LnJlY2lwaWVudCxcbiAgICAgICAgYW1vdW50OiByZXN1bHQuYW1vdW50LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudDogcmVzdWx0LmFtb3VudCB8fCAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICAgIHR5cGU6IHJlc3VsdC50eXBlLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEhleC1lbmNvZGVkIGludGVybmFsIEpTT04g4oCUIHVzZWQgYnkgV1AgZm9yIHJvdW5kLXRyaXAgdmlhIGZyb21SYXdUcmFuc2FjdGlvbi4gKi9cbiAgdG9JbnRlcm5hbEhleCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KGRhdGEpLCAndXRmLTgnKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2Mg4oCUIHJldHVybnMgU3RhcmtuZXQgUlBDLXJlYWR5IEpTT04gZm9yIGFkZEludm9rZSBvciBhZGREZXBsb3lBY2NvdW50LiAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlsb2FkID1cbiAgICAgIGRhdGEudHJhbnNhY3Rpb25UeXBlID09PSBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5ERVBMT1lfQUNDT1VOVFxuICAgICAgICA/IHRoaXMuYnVpbGREZXBsb3lBY2NvdW50UGF5bG9hZChkYXRhKVxuICAgICAgICA6IHRoaXMuYnVpbGRJbnZva2VQYXlsb2FkKGRhdGEpO1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpO1xuICB9XG4gIHByaXZhdGUgYnVpbGREZXBsb3lBY2NvdW50UGF5bG9hZChkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIGlmICghZGF0YS5jbGFzc0hhc2ggfHwgIWRhdGEuY29uc3RydWN0b3JDYWxsZGF0YSB8fCAhZGF0YS5jb250cmFjdEFkZHJlc3NTYWx0KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0luY29tcGxldGUgZGVwbG95IGFjY291bnQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ0RFUExPWV9BQ0NPVU5UJyxcbiAgICAgIHZlcnNpb246ICcweDMnLFxuICAgICAgc2lnbmF0dXJlOiBkYXRhLnNpZ25hdHVyZSB8fCBbXSxcbiAgICAgIG5vbmNlOiBkYXRhLm5vbmNlLFxuICAgICAgY29udHJhY3RfYWRkcmVzc19zYWx0OiBkYXRhLmNvbnRyYWN0QWRkcmVzc1NhbHQsXG4gICAgICBjb25zdHJ1Y3Rvcl9jYWxsZGF0YTogZGF0YS5jb25zdHJ1Y3RvckNhbGxkYXRhLFxuICAgICAgY2xhc3NfaGFzaDogZGF0YS5jbGFzc0hhc2gsXG4gICAgICBzZW5kZXJfYWRkcmVzczogZGF0YS5zZW5kZXJBZGRyZXNzLFxuICAgICAgcmVzb3VyY2VfYm91bmRzOiByZXNvbHZlUmVzb3VyY2VCb3VuZHMoZGF0YSksXG4gICAgICB0aXA6IGRhdGEudGlwIHx8ICcweDAnLFxuICAgICAgcGF5bWFzdGVyX2RhdGE6IFtdLFxuICAgICAgbm9uY2VfZGF0YV9hdmFpbGFiaWxpdHlfbW9kZTogJ0wxJyxcbiAgICAgIGZlZV9kYXRhX2F2YWlsYWJpbGl0eV9tb2RlOiAnTDEnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW52b2tlUGF5bG9hZChkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnSU5WT0tFJyxcbiAgICAgIHZlcnNpb246ICcweDMnLFxuICAgICAgc2VuZGVyX2FkZHJlc3M6IGRhdGEuc2VuZGVyQWRkcmVzcyxcbiAgICAgIGNhbGxkYXRhOiByZXNvbHZlQ29tcGlsZWRDYWxsZGF0YShkYXRhKSxcbiAgICAgIHNpZ25hdHVyZTogZGF0YS5zaWduYXR1cmUgfHwgW10sXG4gICAgICBub25jZTogZGF0YS5ub25jZSxcbiAgICAgIHJlc291cmNlX2JvdW5kczogcmVzb2x2ZVJlc291cmNlQm91bmRzKGRhdGEpLFxuICAgICAgdGlwOiBkYXRhLnRpcCB8fCAnMHgwJyxcbiAgICAgIHBheW1hc3Rlcl9kYXRhOiBbXSxcbiAgICAgIGFjY291bnRfZGVwbG95bWVudF9kYXRhOiBbXSxcbiAgICAgIG5vbmNlX2RhdGFfYXZhaWxhYmlsaXR5X21vZGU6ICdMMScsXG4gICAgICBmZWVfZGF0YV9hdmFpbGFiaWxpdHlfbW9kZTogJ0wxJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oX2tleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -3,6 +3,8 @@ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import { Transaction } from './transaction';
4
4
  import { TransactionBuilder } from './transactionBuilder';
5
5
  import { TransferBuilder } from './transferBuilder';
6
+ import { UdcDeployBuilder } from './udcDeployBuilder';
7
+ import { WalletInitializationBuilder } from './walletInitializationBuilder';
6
8
  export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
7
9
  constructor(_coinConfig: Readonly<CoinConfig>);
8
10
  /** @inheritdoc */
@@ -10,7 +12,8 @@ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFac
10
12
  private static initializeBuilder;
11
13
  /** @inheritdoc */
12
14
  getTransferBuilder(tx?: Transaction): TransferBuilder;
15
+ getUdcDeployBuilder(tx?: Transaction): UdcDeployBuilder;
13
16
  /** @inheritdoc */
14
- getWalletInitializationBuilder(): void;
17
+ getWalletInitializationBuilder(tx?: Transaction): WalletInitializationBuilder;
15
18
  }
16
19
  //# sourceMappingURL=transactionBuilderFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAsD,MAAM,sBAAsB,CAAC;AACzH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IACZ,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAe/D,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAOhC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;CAGvC"}
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA2B,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,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;AAI5E,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IACZ,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsB/D,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAOhC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,mBAAmB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,gBAAgB;IAIvD,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;CAG9E"}
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.TransactionBuilderFactory = void 0;
4
7
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
8
  const transaction_1 = require("./transaction");
6
9
  const transferBuilder_1 = require("./transferBuilder");
10
+ const udcDeployBuilder_1 = require("./udcDeployBuilder");
11
+ const walletInitializationBuilder_1 = require("./walletInitializationBuilder");
7
12
  const iface_1 = require("./iface");
13
+ const utils_1 = __importDefault(require("./utils"));
8
14
  class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
9
15
  constructor(_coinConfig) {
10
16
  super(_coinConfig);
@@ -15,8 +21,15 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
15
21
  await transaction.fromRawTransaction(rawTransaction);
16
22
  try {
17
23
  switch (transaction.starknetTransactionData.transactionType) {
18
- case iface_1.StarknetTransactionType.INVOKE:
24
+ case iface_1.StarknetTransactionType.INVOKE: {
25
+ const calls = transaction.starknetTransactionData.calls || [];
26
+ if (calls.length === 1 && utils_1.default.isUdcDeployCall(calls[0])) {
27
+ return this.getUdcDeployBuilder(transaction);
28
+ }
19
29
  return this.getTransferBuilder(transaction);
30
+ }
31
+ case iface_1.StarknetTransactionType.DEPLOY_ACCOUNT:
32
+ return this.getWalletInitializationBuilder(transaction);
20
33
  default:
21
34
  throw new sdk_core_1.InvalidTransactionError('Invalid transaction type');
22
35
  }
@@ -35,10 +48,13 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
35
48
  getTransferBuilder(tx) {
36
49
  return TransactionBuilderFactory.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
37
50
  }
51
+ getUdcDeployBuilder(tx) {
52
+ return TransactionBuilderFactory.initializeBuilder(tx, new udcDeployBuilder_1.UdcDeployBuilder(this._coinConfig));
53
+ }
38
54
  /** @inheritdoc */
39
- getWalletInitializationBuilder() {
40
- throw new sdk_core_1.MethodNotImplementedError();
55
+ getWalletInitializationBuilder(tx) {
56
+ return TransactionBuilderFactory.initializeBuilder(tx, new walletInitializationBuilder_1.WalletInitializationBuilder(this._coinConfig));
41
57
  }
42
58
  }
43
59
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBeUg7QUFFekgsK0NBQTRDO0FBRTVDLHVEQUFvRDtBQUNwRCxtQ0FBa0Q7QUFFbEQsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFDMUUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixLQUFLLENBQUMsSUFBSSxDQUFDLGNBQXNCO1FBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsTUFBTSxXQUFXLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDO1lBQ0gsUUFBUSxXQUFXLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzVELEtBQUssK0JBQXVCLENBQUMsTUFBTTtvQkFDakMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzlDO29CQUNFLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ2xFLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQStCLEVBQTJCLEVBQUUsT0FBVTtRQUNwRyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxFQUFnQjtRQUNqQyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEI7UUFDNUIsTUFBTSxJQUFJLG9DQUF5QixFQUFFLENBQUM7SUFDeEMsQ0FBQztDQUNGO0FBckNELDhEQXFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgTWV0aG9kTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFya25ldFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFzeW5jIGZyb20ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25CdWlsZGVyPiB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgYXdhaXQgdHJhbnNhY3Rpb24uZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0cnkge1xuICAgICAgc3dpdGNoICh0cmFuc2FjdGlvbi5zdGFya25ldFRyYW5zYWN0aW9uRGF0YS50cmFuc2FjdGlvblR5cGUpIHtcbiAgICAgICAgY2FzZSBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5JTlZPS0U6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHRyYW5zYWN0aW9uKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogJyArIGUubWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IE1ldGhvZE5vdEltcGxlbWVudGVkRXJyb3IoKTtcbiAgfVxufVxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBOEY7QUFFOUYsK0NBQTRDO0FBRTVDLHVEQUFvRDtBQUNwRCx5REFBc0Q7QUFDdEQsK0VBQTRFO0FBQzVFLG1DQUFrRDtBQUNsRCxvREFBNEI7QUFFNUIsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFDMUUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixLQUFLLENBQUMsSUFBSSxDQUFDLGNBQXNCO1FBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsTUFBTSxXQUFXLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDO1lBQ0gsUUFBUSxXQUFXLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzVELEtBQUssK0JBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDcEMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLHVCQUF1QixDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzlELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZUFBSyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUMxRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDL0MsQ0FBQztvQkFDRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUMsQ0FBQztnQkFDRCxLQUFLLCtCQUF1QixDQUFDLGNBQWM7b0JBQ3pDLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMxRDtvQkFDRSxNQUFNLElBQUksa0NBQXVCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUNsRSxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksa0NBQXVCLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUErQixFQUEyQixFQUFFLE9BQVU7UUFDcEcsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsRUFBZ0I7UUFDakMsT0FBTyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxFQUFnQjtRQUNsQyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLG1DQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsOEJBQThCLENBQUMsRUFBZ0I7UUFDN0MsT0FBTyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSx5REFBMkIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0NBQ0Y7QUFoREQsOERBZ0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFVkY0RlcGxveUJ1aWxkZXIgfSBmcm9tICcuL3VkY0RlcGxveUJ1aWxkZXInO1xuaW1wb3J0IHsgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBmcm9tKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uQnVpbGRlcj4ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgIGF3YWl0IHRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdHJ5IHtcbiAgICAgIHN3aXRjaCAodHJhbnNhY3Rpb24uc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEudHJhbnNhY3Rpb25UeXBlKSB7XG4gICAgICAgIGNhc2UgU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUuSU5WT0tFOiB7XG4gICAgICAgICAgY29uc3QgY2FsbHMgPSB0cmFuc2FjdGlvbi5zdGFya25ldFRyYW5zYWN0aW9uRGF0YS5jYWxscyB8fCBbXTtcbiAgICAgICAgICBpZiAoY2FsbHMubGVuZ3RoID09PSAxICYmIHV0aWxzLmlzVWRjRGVwbG95Q2FsbChjYWxsc1swXSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFVkY0RlcGxveUJ1aWxkZXIodHJhbnNhY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIodHJhbnNhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUuREVQTE9ZX0FDQ09VTlQ6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHRyYW5zYWN0aW9uKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogJyArIGUubWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldFVkY0RlcGxveUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFVkY0RlcGxveUJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVWRjRGVwbG95QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,30 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { TransactionBuilder } from './transactionBuilder';
3
+ import { Transaction } from './transaction';
4
+ import { StarknetTransactionType, UdcDeployParams } from './iface';
5
+ /**
6
+ * INVOKE to UDC `deployContract` from a master wallet.
7
+ * Always uses unique=0 so the address matches `computeStarknetAddress` (deployer=0).
8
+ * `fromPublicKey` sets the *target* only — call `sender` with the master address separately.
9
+ */
10
+ export declare class UdcDeployBuilder extends TransactionBuilder {
11
+ protected _classHash: string;
12
+ protected _salt?: string;
13
+ protected _constructorCalldata?: string[];
14
+ protected _targetAddress?: string;
15
+ constructor(_coinConfig: Readonly<CoinConfig>);
16
+ protected get transactionType(): StarknetTransactionType;
17
+ /** Sets deploy params and derives the counterfactual target address. */
18
+ deployParams(params: UdcDeployParams): this;
19
+ /** Derive deploy params from the target user's pubkey. Does not set sender. */
20
+ fromPublicKey(pubKey: string): this;
21
+ getTargetAddress(): string | undefined;
22
+ /** @inheritdoc */
23
+ initBuilder(tx: Transaction): void;
24
+ /** @inheritdoc */
25
+ protected buildImplementation(): Promise<Transaction>;
26
+ /** Calldata: [classHash, salt, unique=0, ctor_len, ...ctorCalldata] */
27
+ private compileUdcDeployCalldata;
28
+ private validateUdcDeploy;
29
+ }
30
+ //# sourceMappingURL=udcDeployBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udcDeployBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/udcDeployBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAgB,uBAAuB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAIjF;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,SAAS,CAAC,UAAU,EAAE,MAAM,CAA6B;IACzD,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1C,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;gBAEtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,uBAAuB,CAEvD;IAED,wEAAwE;IACjE,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IA6BlD,+EAA+E;IACxE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAenC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAI7C,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAuBlC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAkB3D,uEAAuE;IACvE,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iBAAiB;CAa1B"}