@bitgo-beta/sdk-coin-polyx 1.0.1-beta.1068 → 1.0.1-beta.1069

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 (49) hide show
  1. package/dist/src/lib/hexTokenTransferBuilder.d.ts +3 -0
  2. package/dist/src/lib/hexTokenTransferBuilder.d.ts.map +1 -1
  3. package/dist/src/lib/hexTokenTransferBuilder.js +4 -1
  4. package/dist/src/lib/hexTransferBuilder.d.ts +2 -0
  5. package/dist/src/lib/hexTransferBuilder.d.ts.map +1 -1
  6. package/dist/src/lib/hexTransferBuilder.js +3 -1
  7. package/dist/src/lib/iface.d.ts +95 -2
  8. package/dist/src/lib/iface.d.ts.map +1 -1
  9. package/dist/src/lib/iface.js +12 -1
  10. package/dist/src/lib/index.d.ts +1 -0
  11. package/dist/src/lib/index.d.ts.map +1 -1
  12. package/dist/src/lib/index.js +4 -2
  13. package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -1
  14. package/dist/src/lib/preApproveAssetBuilder.js +2 -1
  15. package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -1
  16. package/dist/src/lib/registerDidWithCDDBuilder.js +4 -1
  17. package/dist/src/lib/tokenTransferBuilder.d.ts +7 -1
  18. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -1
  19. package/dist/src/lib/tokenTransferBuilder.js +16 -7
  20. package/dist/src/lib/transaction.d.ts.map +1 -1
  21. package/dist/src/lib/transaction.js +20 -5
  22. package/dist/src/lib/transactionBuilderFactory.d.ts +2 -0
  23. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  24. package/dist/src/lib/transactionBuilderFactory.js +5 -1
  25. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  26. package/dist/src/lib/transferBuilder.js +3 -1
  27. package/dist/src/lib/txnSchema.d.ts +2 -0
  28. package/dist/src/lib/txnSchema.d.ts.map +1 -1
  29. package/dist/src/lib/txnSchema.js +48 -2
  30. package/dist/src/lib/v8HexTokenTransferBuilder.d.ts +14 -5
  31. package/dist/src/lib/v8HexTokenTransferBuilder.d.ts.map +1 -1
  32. package/dist/src/lib/v8HexTokenTransferBuilder.js +28 -7
  33. package/dist/src/lib/v8RegisterDidBuilder.d.ts +47 -0
  34. package/dist/src/lib/v8RegisterDidBuilder.d.ts.map +1 -0
  35. package/dist/src/lib/v8RegisterDidBuilder.js +96 -0
  36. package/dist/src/lib/v8TokenTransferBuilder.d.ts +16 -3
  37. package/dist/src/lib/v8TokenTransferBuilder.d.ts.map +1 -1
  38. package/dist/src/lib/v8TokenTransferBuilder.js +84 -4
  39. package/dist/src/resources/mainnetV8.d.ts.map +1 -1
  40. package/dist/src/resources/mainnetV8.js +4 -1
  41. package/dist/src/resources/testnetV8.js +4 -4
  42. package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.js +31 -1
  43. package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.d.ts +2 -0
  44. package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.d.ts.map +1 -0
  45. package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.js +87 -0
  46. package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.js +64 -1
  47. package/dist/test/unit/transactionBuilder/v8TransferBuilder.js +20 -1
  48. package/dist/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +7 -7
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.WithdrawUnbondedTransactionSchema = exports.UnbondTransactionSchema = exports.BatchUnstakingTransactionSchema = exports.bondSchema = exports.BatchTransactionSchema = exports.NominateTransactionSchema = exports.BondExtraTransactionSchema = exports.RejectInstructionTransactionSchema = exports.AddAndAffirmWithMediatorsTransactionSchema = exports.PreApproveAssetTransactionSchema = exports.RegisterDidWithCDDTransactionSchema = void 0;
6
+ exports.WithdrawUnbondedTransactionSchema = exports.UnbondTransactionSchema = exports.BatchUnstakingTransactionSchema = exports.bondSchema = exports.BatchTransactionSchema = exports.NominateTransactionSchema = exports.BondExtraTransactionSchema = exports.RejectInstructionTransactionSchema = exports.V8AddAndAffirmWithMediatorsTransactionSchema = exports.AddAndAffirmWithMediatorsTransactionSchema = exports.PreApproveAssetTransactionSchema = exports.RegisterDidTransactionSchema = exports.RegisterDidWithCDDTransactionSchema = void 0;
7
7
  const joi_1 = __importDefault(require("joi"));
8
8
  const utils_1 = __importDefault(require("./utils"));
9
9
  const addressSchema = joi_1.default.string().custom((addr) => utils_1.default.isValidAddress(addr));
@@ -12,6 +12,11 @@ exports.RegisterDidWithCDDTransactionSchema = joi_1.default.object({
12
12
  secondaryKeys: joi_1.default.array().length(0).required(),
13
13
  expiry: joi_1.default.valid(null).required(),
14
14
  });
15
+ // v8 identity.registerDid — unlike the v7 CDD path, this call only carries targetAccount
16
+ // (verified against the real testnetV8Material metadata; no secondaryKeys/expiry fields).
17
+ exports.RegisterDidTransactionSchema = joi_1.default.object({
18
+ targetAccount: addressSchema.required(),
19
+ });
15
20
  exports.PreApproveAssetTransactionSchema = joi_1.default.object({
16
21
  assetId: joi_1.default.string().required(),
17
22
  });
@@ -69,6 +74,47 @@ exports.AddAndAffirmWithMediatorsTransactionSchema = joi_1.default.object({
69
74
  instructionMemo: joi_1.default.string().required(),
70
75
  mediators: joi_1.default.array().length(0).required(),
71
76
  });
77
+ // v8 settlement.addAndAffirmWithMediators — legs/holderSet wrap the DID+kind in an AssetHolder
78
+ // enum. Decoded shape lowercases the variant name (`portfolio`, not `Portfolio`) — verified by
79
+ // round-tripping a sample value through the real v8 testnet metadata registry.
80
+ const assetHolderSchema = joi_1.default.object({
81
+ portfolio: joi_1.default
82
+ .object({
83
+ did: addressSchema.required(),
84
+ kind: joi_1.default
85
+ .object({
86
+ default: joi_1.default.valid(null),
87
+ })
88
+ .required(),
89
+ })
90
+ .required(),
91
+ });
92
+ exports.V8AddAndAffirmWithMediatorsTransactionSchema = joi_1.default.object({
93
+ venueId: joi_1.default.valid(null).required(),
94
+ settlementType: joi_1.default
95
+ .object({
96
+ settleOnAffirmation: joi_1.default.valid(null),
97
+ })
98
+ .required(),
99
+ tradeDate: joi_1.default.valid(null).required(),
100
+ valueDate: joi_1.default.valid(null).required(),
101
+ legs: joi_1.default
102
+ .array()
103
+ .items(joi_1.default.object({
104
+ fungible: joi_1.default
105
+ .object({
106
+ sender: assetHolderSchema.required(),
107
+ receiver: assetHolderSchema.required(),
108
+ assetId: joi_1.default.string().required(),
109
+ amount: joi_1.default.number().required(),
110
+ })
111
+ .required(),
112
+ }))
113
+ .required(),
114
+ holderSet: joi_1.default.array().items(assetHolderSchema).required(),
115
+ instructionMemo: joi_1.default.string().required(),
116
+ mediators: joi_1.default.array().length(0).required(),
117
+ });
72
118
  exports.RejectInstructionTransactionSchema = joi_1.default.object({
73
119
  id: joi_1.default.string().required(),
74
120
  portfolio: joi_1.default
@@ -162,4 +208,4 @@ exports.WithdrawUnbondedTransactionSchema = {
162
208
  })
163
209
  .validate(value),
164
210
  };
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhuU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90eG5TY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXNCO0FBQ3RCLG9EQUE0QjtBQXVCNUIsTUFBTSxhQUFhLEdBQUcsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRW5FLFFBQUEsbUNBQW1DLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUN2QyxhQUFhLEVBQUUsYUFBRyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsTUFBTSxFQUFFLGFBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQ25DLENBQUMsQ0FBQztBQUVVLFFBQUEsZ0NBQWdDLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztJQUN6RCxPQUFPLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNqQyxDQUFDLENBQUM7QUFFVSxRQUFBLDBDQUEwQyxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7SUFDbkUsT0FBTyxFQUFFLGFBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25DLGNBQWMsRUFBRSxhQUFHO1NBQ2hCLE1BQU0sQ0FBQztRQUNOLG1CQUFtQixFQUFFLGFBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0tBQ3JDLENBQUM7U0FDRCxRQUFRLEVBQUU7SUFDYixTQUFTLEVBQUUsYUFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDckMsU0FBUyxFQUFF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QUUsQ0FBQyxLQUF3QixFQUF3QixFQUFFLENBQzNELGFBQUc7U0FDQSxNQUFNLENBQUM7UUFDTixLQUFLLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUMvQixDQUFDO1NBQ0QsUUFBUSxDQUFDLEtBQUssQ0FBQztDQUNyQixDQUFDO0FBRVcsUUFBQSxpQ0FBaUMsR0FBRztJQUMvQyxRQUFRLEVBQUUsQ0FBQyxLQUFnQyxFQUF3QixFQUFFLENBQ25FLGFBQUc7U0FDQSxNQUFNLENBQUM7UUFDTixhQUFhLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7S0FDOUMsQ0FBQztTQUNELFFBQVEsQ0FBQyxLQUFLLENBQUM7Q0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqb2kgZnJvbSAnam9pJztcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgQmF0Y2hWYWxpZGF0aW9uT2JqZWN0ID0ge1xuICBhbW91bnQ6IHN0cmluZztcbiAgY29udHJvbGxlcjogc3RyaW5nO1xuICBwYXllZTogc3RyaW5nIHwgeyBBY2NvdW50OiBzdHJpbmcgfTtcbiAgdmFsaWRhdG9yczogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBCb25kVmFsaWRhdGlvbk9iamVjdCA9IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgY29udHJvbGxlcjogc3RyaW5nO1xuICBwYXllZTogc3RyaW5nIHwgeyBBY2NvdW50OiBzdHJpbmcgfTtcbn07XG5cbmV4cG9ydCB0eXBlIE5vbWluYXRlVmFsaWRhdGlvbk9iamVjdCA9IHtcbiAgdmFsaWRhdG9yczogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBCb25kRXh0cmFWYWxpZGF0aW9uT2JqZWN0ID0ge1xuICB2YWx1ZTogc3RyaW5nO1xufTtcblxuY29uc3QgYWRkcmVzc1NjaGVtYSA9IGpvaS5zdHJpbmcoKS5jdXN0b20oKGFkZHIpID0+IFV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHIpKTtcblxuZXhwb3J0IGNvbnN0IFJlZ2lzdGVyRGlkV2l0aENERFRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHRhcmdldEFjY291bnQ6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgc2Vjb25kYXJ5S2V5czogam9pLmFycmF5KCkubGVuZ3RoKDApLnJlcXVpcmVkKCksXG4gIGV4cGlyeTogam9pLnZhbGlkKG51bGwpLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFByZUFwcHJvdmVBc3NldFRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIGFzc2V0SWQ6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdmVudWVJZDogam9pLnZhbGlkKG51bGwpLnJlcXVpcmVkKCksXG4gIHNldHRsZW1lbnRUeXBlOiBqb2lcbiAgICAub2JqZWN0KHtcbiAgICAgIHNldHRsZU9uQWZmaXJtYXRpb246IGpvaS52YWxpZChudWxsKSxcbiAgICB9KVxuICAgIC5yZXF1aXJlZCgpLFxuICB0cmFkZURhdGU6IGpvaS52YWxpZChudWxsKS5yZXF1aXJlZCgpLFxuICB2YWx1ZURhdGU6IGpvaS52YWxpZChudWxsKS5yZXF1aXJlZCgpLFxuICBsZWdzOiBqb2lcbiAgICAuYXJyYXkoKVxuICAgIC5pdGVtcyhcbiAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICBmdW5naWJsZTogam9pXG4gICAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgICBzZW5kZXI6IGpvaVxuICAgICAgICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICAgICAgICBkaWQ6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgICAgICAgICAgICAgICBraW5kOiBqb2lcbiAgICAgICAgICAgICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBqb2kudmFsaWQobnVsbCksXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgcmVjZWl2ZXI6IGpvaVxuICAgICAgICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICAgICAgICBkaWQ6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgICAgICAgICAgICAgICBraW5kOiBqb2lcbiAgICAgICAgICAgICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBqb2kudmFsaWQobnVsbCksXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgYXNzZXRJZDogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gICAgICAgICAgICBhbW91bnQ6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbiAgcG9ydGZvbGlvczogam9pXG4gICAgLmFycmF5KClcbiAgICAuaXRlbXMoXG4gICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgZGlkOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICAgIGtpbmQ6IGpvaVxuICAgICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgICAgZGVmYXVsdDogam9pLnZhbGlkKG51bGwpLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbiAgaW5zdHJ1Y3Rpb25NZW1vOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgbWVkaWF0b3JzOiBqb2kuYXJyYXkoKS5sZW5ndGgoMCkucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUmVqZWN0SW5zdHJ1Y3Rpb25UcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBpZDogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHBvcnRmb2xpbzogam9pXG4gICAgLm9iamVjdCh7XG4gICAgICBkaWQ6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgICAgIGtpbmQ6IGpvaVxuICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICBkZWZhdWx0OiBqb2kudmFsaWQobnVsbCksXG4gICAgICAgIH0pXG4gICAgICAgIC5yZXF1aXJlZCgpLFxuICAgIH0pXG4gICAgLnJlcXVpcmVkKCksXG4gIG51bWJlck9mQXNzZXRzOiBqb2lcbiAgICAub2JqZWN0KHtcbiAgICAgIGZ1bmdpYmxlOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgICAgIG5vbkZ1bmdpYmxlOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgICAgIG9mZkNoYWluOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgICB9KVxuICAgIC5vcHRpb25hbCgpLFxufSk7XG5cbi8vIEZvciBzdGFuZGFsb25lIGJvbmRFeHRyYSB0cmFuc2FjdGlvbnNcbmV4cG9ydCBjb25zdCBCb25kRXh0cmFUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG59KTtcblxuLy8gRm9yIG5vbWluYXRlIHRyYW5zYWN0aW9ucyAoc3RhbmRhbG9uZSBvciBpbiBiYXRjaClcbmV4cG9ydCBjb25zdCBOb21pbmF0ZVRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHZhbGlkYXRvcnM6IGpvaS5hcnJheSgpLml0ZW1zKGFkZHJlc3NTY2hlbWEpLm1pbigxKS5tYXgoMTYpLnJlcXVpcmVkKCksXG59KTtcblxuLy8gRm9yIGJhdGNoIHZhbGlkYXRpb25cbmV4cG9ydCBjb25zdCBCYXRjaFRyYW5zYWN0aW9uU2NoZW1hID0ge1xuICB2YWxpZGF0ZTogKHZhbHVlOiBCYXRjaFZhbGlkYXRpb25PYmplY3QpOiBqb2kuVmFsaWRhdGlvblJlc3VsdCA9PlxuICAgIGpvaVxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIGFtb3VudDogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gICAgICAgIGNvbnRyb2xsZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgICAgICAgLy8gUGF5ZWUgY2FuIGJlIGEgc3RyaW5nIG9yIGFuIG9iamVjdCB3aXRoIEFjY291bnQgcHJvcGVydHlcbiAgICAgICAgcGF5ZWU6IGpvaVxuICAgICAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgICAgIC50cnkoXG4gICAgICAgICAgICBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICAgICAgQWNjb3VudDogYWRkcmVzc1NjaGVtYSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgICB2YWxpZGF0b3JzOiBqb2kuYXJyYXkoKS5pdGVtcyhhZGRyZXNzU2NoZW1hKS5taW4oMSkubWF4KDE2KS5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICAgIC52YWxpZGF0ZSh2YWx1ZSksXG5cbiAgdmFsaWRhdGVCb25kOiAodmFsdWU6IEJvbmRWYWxpZGF0aW9uT2JqZWN0KTogam9pLlZhbGlkYXRpb25SZXN1bHQgPT5cbiAgICBqb2lcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gICAgICAgIGNvbnRyb2xsZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgICAgICAgcGF5ZWU6IGpvaVxuICAgICAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgICAgIC50cnkoXG4gICAgICAgICAgICBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICAgICAgQWNjb3VudDogYWRkcmVzc1NjaGVtYSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICAgIC52YWxpZGF0ZSh2YWx1ZSksXG5cbiAgdmFsaWRhdGVOb21pbmF0ZTogKHZhbHVlOiBOb21pbmF0ZVZhbGlkYXRpb25PYmplY3QpOiBqb2kuVmFsaWRhdGlvblJlc3VsdCA9PlxuICAgIGpvaVxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIHZhbGlkYXRvcnM6IGpvaS5hcnJheSgpLml0ZW1zKGFkZHJlc3NTY2hlbWEpLm1pbigxKS5tYXgoMTYpLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgICAgLnZhbGlkYXRlKHZhbHVlKSxcbn07XG5cbmV4cG9ydCBjb25zdCBib25kU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgY29udHJvbGxlcjogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICBwYXllZTogam9pXG4gICAgLmFsdGVybmF0aXZlcygpXG4gICAgLnRyeShcbiAgICAgIGpvaS5zdHJpbmcoKS52YWxpZCgnU3Rha2VkJywgJ1N0YXNoJywgJ0NvbnRyb2xsZXInKSxcbiAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICBBY2NvdW50OiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQmF0Y2hVbnN0YWtpbmdUcmFuc2FjdGlvblNjaGVtYSA9IHtcbiAgdmFsaWRhdGU6ICh2YWx1ZTogeyB2YWx1ZTogc3RyaW5nIH0pOiBqb2kuVmFsaWRhdGlvblJlc3VsdCA9PlxuICAgIGpvaVxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgICAgIH0pXG4gICAgICAudmFsaWRhdGUodmFsdWUpLFxufTtcblxuZXhwb3J0IGNvbnN0IFVuYm9uZFRyYW5zYWN0aW9uU2NoZW1hID0ge1xuICB2YWxpZGF0ZTogKHZhbHVlOiB7IHZhbHVlOiBzdHJpbmcgfSk6IGpvaS5WYWxpZGF0aW9uUmVzdWx0ID0+XG4gICAgam9pXG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgdmFsdWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICAgIC52YWxpZGF0ZSh2YWx1ZSksXG59O1xuXG5leHBvcnQgY29uc3QgV2l0aGRyYXdVbmJvbmRlZFRyYW5zYWN0aW9uU2NoZW1hID0ge1xuICB2YWxpZGF0ZTogKHZhbHVlOiB7IHNsYXNoaW5nU3BhbnM6IG51bWJlciB9KTogam9pLlZhbGlkYXRpb25SZXN1bHQgPT5cbiAgICBqb2lcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICBzbGFzaGluZ1NwYW5zOiBqb2kubnVtYmVyKCkubWluKDApLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgICAgLnZhbGlkYXRlKHZhbHVlKSxcbn07XG4iXX0=
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhuU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90eG5TY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXNCO0FBQ3RCLG9EQUE0QjtBQXVCNUIsTUFBTSxhQUFhLEdBQUcsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRW5FLFFBQUEsbUNBQW1DLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUN2QyxhQUFhLEVBQUUsYUFBRyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsTUFBTSxFQUFFLGFBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQ25DLENBQUMsQ0FBQztBQUVILHlGQUF5RjtBQUN6RiwwRkFBMEY7QUFDN0UsUUFBQSw0QkFBNEIsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO0lBQ3JELGFBQWEsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0NBQ3hDLENBQUMsQ0FBQztBQUVVLFFBQUEsZ0NBQWdDLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztJQUN6RCxPQUFPLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNqQyxDQUFDLENBQUM7QUFFVSxRQUFBLDBDQUEwQyxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7SUFDbkUsT0FBTyxFQUFFLGFBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25DLGNBQWMsRUFBRSxhQUFHO1NBQ2hCLE1BQU0sQ0FBQztRQUNOLG1CQUFtQixFQUFFLGFBQUcsQ0FBQyxL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WSxFQUFFO1NBQ2QsR0FBRyxDQUNGLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFDbkQsYUFBRyxDQUFDLE1BQU0sQ0FBQztRQUNULE9BQU8sRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0tBQ2xDLENBQUMsQ0FDSDtTQUNBLFFBQVEsRUFBRTtDQUNkLENBQUMsQ0FBQztBQUVVLFFBQUEsK0JBQStCLEdBQUc7SUFDN0MsUUFBUSxFQUFFLENBQUMsS0FBd0IsRUFBd0IsRUFBRSxDQUMzRCxhQUFHO1NBQ0EsTUFBTSxDQUFDO1FBQ04sS0FBSyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDL0IsQ0FBQztTQUNELFFBQVEsQ0FBQyxLQUFLLENBQUM7Q0FDckIsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUc7SUFDckMsUUFBUSxFQUFFLENBQUMsS0FBd0IsRUFBd0IsRUFBRSxDQUMzRCxhQUFHO1NBQ0EsTUFBTSxDQUFDO1FBQ04sS0FBSyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDL0IsQ0FBQztTQUNELFFBQVEsQ0FBQyxLQUFLLENBQUM7Q0FDckIsQ0FBQztBQUVXLFFBQUEsaUNBQWlDLEdBQUc7SUFDL0MsUUFBUSxFQUFFLENBQUMsS0FBZ0MsRUFBd0IsRUFBRSxDQUNuRSxhQUFHO1NBQ0EsTUFBTSxDQUFDO1FBQ04sYUFBYSxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0tBQzlDLENBQUM7U0FDRCxRQUFRLENBQUMsS0FBSyxDQUFDO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgam9pIGZyb20gJ2pvaSc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIEJhdGNoVmFsaWRhdGlvbk9iamVjdCA9IHtcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGNvbnRyb2xsZXI6IHN0cmluZztcbiAgcGF5ZWU6IHN0cmluZyB8IHsgQWNjb3VudDogc3RyaW5nIH07XG4gIHZhbGlkYXRvcnM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQm9uZFZhbGlkYXRpb25PYmplY3QgPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNvbnRyb2xsZXI6IHN0cmluZztcbiAgcGF5ZWU6IHN0cmluZyB8IHsgQWNjb3VudDogc3RyaW5nIH07XG59O1xuXG5leHBvcnQgdHlwZSBOb21pbmF0ZVZhbGlkYXRpb25PYmplY3QgPSB7XG4gIHZhbGlkYXRvcnM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQm9uZEV4dHJhVmFsaWRhdGlvbk9iamVjdCA9IHtcbiAgdmFsdWU6IHN0cmluZztcbn07XG5cbmNvbnN0IGFkZHJlc3NTY2hlbWEgPSBqb2kuc3RyaW5nKCkuY3VzdG9tKChhZGRyKSA9PiBVdGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyKSk7XG5cbmV4cG9ydCBjb25zdCBSZWdpc3RlckRpZFdpdGhDRERUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB0YXJnZXRBY2NvdW50OiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gIHNlY29uZGFyeUtleXM6IGpvaS5hcnJheSgpLmxlbmd0aCgwKS5yZXF1aXJlZCgpLFxuICBleHBpcnk6IGpvaS52YWxpZChudWxsKS5yZXF1aXJlZCgpLFxufSk7XG5cbi8vIHY4IGlkZW50aXR5LnJlZ2lzdGVyRGlkIOKAlCB1bmxpa2UgdGhlIHY3IENERCBwYXRoLCB0aGlzIGNhbGwgb25seSBjYXJyaWVzIHRhcmdldEFjY291bnRcbi8vICh2ZXJpZmllZCBhZ2FpbnN0IHRoZSByZWFsIHRlc3RuZXRWOE1hdGVyaWFsIG1ldGFkYXRhOyBubyBzZWNvbmRhcnlLZXlzL2V4cGlyeSBmaWVsZHMpLlxuZXhwb3J0IGNvbnN0IFJlZ2lzdGVyRGlkVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdGFyZ2V0QWNjb3VudDogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBQcmVBcHByb3ZlQXNzZXRUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBhc3NldElkOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc1RyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHZlbnVlSWQ6IGpvaS52YWxpZChudWxsKS5yZXF1aXJlZCgpLFxuICBzZXR0bGVtZW50VHlwZTogam9pXG4gICAgLm9iamVjdCh7XG4gICAgICBzZXR0bGVPbkFmZmlybWF0aW9uOiBqb2kudmFsaWQobnVsbCksXG4gICAgfSlcbiAgICAucmVxdWlyZWQoKSxcbiAgdHJhZGVEYXRlOiBqb2kudmFsaWQobnVsbCkucmVxdWlyZWQoKSxcbiAgdmFsdWVEYXRlOiBqb2kudmFsaWQobnVsbCkucmVxdWlyZWQoKSxcbiAgbGVnczogam9pXG4gICAgLmFycmF5KClcbiAgICAuaXRlbXMoXG4gICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgZnVuZ2libGU6IGpvaVxuICAgICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgICAgc2VuZGVyOiBqb2lcbiAgICAgICAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgICAgICAgZGlkOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICAgICAgICAgICAga2luZDogam9pXG4gICAgICAgICAgICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogam9pLnZhbGlkKG51bGwpLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAucmVxdWlyZWQoKSxcbiAgICAgICAgICAgIHJlY2VpdmVyOiBqb2lcbiAgICAgICAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgICAgICAgZGlkOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICAgICAgICAgICAga2luZDogam9pXG4gICAgICAgICAgICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogam9pLnZhbGlkKG51bGwpLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAucmVxdWlyZWQoKSxcbiAgICAgICAgICAgIGFzc2V0SWQ6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgYW1vdW50OiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICApXG4gICAgLnJlcXVpcmVkKCksXG4gIHBvcnRmb2xpb3M6IGpvaVxuICAgIC5hcnJheSgpXG4gICAgLml0ZW1zKFxuICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgIGRpZDogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICAgICAgICBraW5kOiBqb2lcbiAgICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IGpvaS52YWxpZChudWxsKSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICApXG4gICAgLnJlcXVpcmVkKCksXG4gIGluc3RydWN0aW9uTWVtbzogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIG1lZGlhdG9yczogam9pLmFycmF5KCkubGVuZ3RoKDApLnJlcXVpcmVkKCksXG59KTtcblxuLy8gdjggc2V0dGxlbWVudC5hZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzIOKAlCBsZWdzL2hvbGRlclNldCB3cmFwIHRoZSBESUQra2luZCBpbiBhbiBBc3NldEhvbGRlclxuLy8gZW51bS4gRGVjb2RlZCBzaGFwZSBsb3dlcmNhc2VzIHRoZSB2YXJpYW50IG5hbWUgKGBwb3J0Zm9saW9gLCBub3QgYFBvcnRmb2xpb2ApIOKAlCB2ZXJpZmllZCBieVxuLy8gcm91bmQtdHJpcHBpbmcgYSBzYW1wbGUgdmFsdWUgdGhyb3VnaCB0aGUgcmVhbCB2OCB0ZXN0bmV0IG1ldGFkYXRhIHJlZ2lzdHJ5LlxuY29uc3QgYXNzZXRIb2xkZXJTY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgcG9ydGZvbGlvOiBqb2lcbiAgICAub2JqZWN0KHtcbiAgICAgIGRpZDogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICAgICAga2luZDogam9pXG4gICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgIGRlZmF1bHQ6IGpvaS52YWxpZChudWxsKSxcbiAgICAgICAgfSlcbiAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgfSlcbiAgICAucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVjhBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdmVudWVJZDogam9pLnZhbGlkKG51bGwpLnJlcXVpcmVkKCksXG4gIHNldHRsZW1lbnRUeXBlOiBqb2lcbiAgICAub2JqZWN0KHtcbiAgICAgIHNldHRsZU9uQWZmaXJtYXRpb246IGpvaS52YWxpZChudWxsKSxcbiAgICB9KVxuICAgIC5yZXF1aXJlZCgpLFxuICB0cmFkZURhdGU6IGpvaS52YWxpZChudWxsKS5yZXF1aXJlZCgpLFxuICB2YWx1ZURhdGU6IGpvaS52YWxpZChudWxsKS5yZXF1aXJlZCgpLFxuICBsZWdzOiBqb2lcbiAgICAuYXJyYXkoKVxuICAgIC5pdGVtcyhcbiAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICBmdW5naWJsZTogam9pXG4gICAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgICBzZW5kZXI6IGFzc2V0SG9sZGVyU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICAgICAgICByZWNlaXZlcjogYXNzZXRIb2xkZXJTY2hlbWEucmVxdWlyZWQoKSxcbiAgICAgICAgICAgIGFzc2V0SWQ6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgYW1vdW50OiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICApXG4gICAgLnJlcXVpcmVkKCksXG4gIGhvbGRlclNldDogam9pLmFycmF5KCkuaXRlbXMoYXNzZXRIb2xkZXJTY2hlbWEpLnJlcXVpcmVkKCksXG4gIGluc3RydWN0aW9uTWVtbzogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIG1lZGlhdG9yczogam9pLmFycmF5KCkubGVuZ3RoKDApLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFJlamVjdEluc3RydWN0aW9uVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgaWQ6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBwb3J0Zm9saW86IGpvaVxuICAgIC5vYmplY3Qoe1xuICAgICAgZGlkOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICBraW5kOiBqb2lcbiAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgZGVmYXVsdDogam9pLnZhbGlkKG51bGwpLFxuICAgICAgICB9KVxuICAgICAgICAucmVxdWlyZWQoKSxcbiAgICB9KVxuICAgIC5yZXF1aXJlZCgpLFxuICBudW1iZXJPZkFzc2V0czogam9pXG4gICAgLm9iamVjdCh7XG4gICAgICBmdW5naWJsZTogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gICAgICBub25GdW5naWJsZTogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gICAgICBvZmZDaGFpbjogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gICAgfSlcbiAgICAub3B0aW9uYWwoKSxcbn0pO1xuXG4vLyBGb3Igc3RhbmRhbG9uZSBib25kRXh0cmEgdHJhbnNhY3Rpb25zXG5leHBvcnQgY29uc3QgQm9uZEV4dHJhVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdmFsdWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxufSk7XG5cbi8vIEZvciBub21pbmF0ZSB0cmFuc2FjdGlvbnMgKHN0YW5kYWxvbmUgb3IgaW4gYmF0Y2gpXG5leHBvcnQgY29uc3QgTm9taW5hdGVUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB2YWxpZGF0b3JzOiBqb2kuYXJyYXkoKS5pdGVtcyhhZGRyZXNzU2NoZW1hKS5taW4oMSkubWF4KDE2KS5yZXF1aXJlZCgpLFxufSk7XG5cbi8vIEZvciBiYXRjaCB2YWxpZGF0aW9uXG5leHBvcnQgY29uc3QgQmF0Y2hUcmFuc2FjdGlvblNjaGVtYSA9IHtcbiAgdmFsaWRhdGU6ICh2YWx1ZTogQmF0Y2hWYWxpZGF0aW9uT2JqZWN0KTogam9pLlZhbGlkYXRpb25SZXN1bHQgPT5cbiAgICBqb2lcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICBhbW91bnQ6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgICBjb250cm9sbGVyOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICAgIC8vIFBheWVlIGNhbiBiZSBhIHN0cmluZyBvciBhbiBvYmplY3Qgd2l0aCBBY2NvdW50IHByb3BlcnR5XG4gICAgICAgIHBheWVlOiBqb2lcbiAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAudHJ5KFxuICAgICAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgICAgIEFjY291bnQ6IGFkZHJlc3NTY2hlbWEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgICAucmVxdWlyZWQoKSxcbiAgICAgICAgdmFsaWRhdG9yczogam9pLmFycmF5KCkuaXRlbXMoYWRkcmVzc1NjaGVtYSkubWluKDEpLm1heCgxNikucmVxdWlyZWQoKSxcbiAgICAgIH0pXG4gICAgICAudmFsaWRhdGUodmFsdWUpLFxuXG4gIHZhbGlkYXRlQm9uZDogKHZhbHVlOiBCb25kVmFsaWRhdGlvbk9iamVjdCk6IGpvaS5WYWxpZGF0aW9uUmVzdWx0ID0+XG4gICAgam9pXG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgdmFsdWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgICBjb250cm9sbGVyOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICAgIHBheWVlOiBqb2lcbiAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAudHJ5KFxuICAgICAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgICAgIEFjY291bnQ6IGFkZHJlc3NTY2hlbWEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgICAucmVxdWlyZWQoKSxcbiAgICAgIH0pXG4gICAgICAudmFsaWRhdGUodmFsdWUpLFxuXG4gIHZhbGlkYXRlTm9taW5hdGU6ICh2YWx1ZTogTm9taW5hdGVWYWxpZGF0aW9uT2JqZWN0KTogam9pLlZhbGlkYXRpb25SZXN1bHQgPT5cbiAgICBqb2lcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICB2YWxpZGF0b3JzOiBqb2kuYXJyYXkoKS5pdGVtcyhhZGRyZXNzU2NoZW1hKS5taW4oMSkubWF4KDE2KS5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICAgIC52YWxpZGF0ZSh2YWx1ZSksXG59O1xuXG5leHBvcnQgY29uc3QgYm9uZFNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGNvbnRyb2xsZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgcGF5ZWU6IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoXG4gICAgICBqb2kuc3RyaW5nKCkudmFsaWQoJ1N0YWtlZCcsICdTdGFzaCcsICdDb250cm9sbGVyJyksXG4gICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgQWNjb3VudDogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICApXG4gICAgLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEJhdGNoVW5zdGFraW5nVHJhbnNhY3Rpb25TY2hlbWEgPSB7XG4gIHZhbGlkYXRlOiAodmFsdWU6IHsgdmFsdWU6IHN0cmluZyB9KTogam9pLlZhbGlkYXRpb25SZXN1bHQgPT5cbiAgICBqb2lcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgICAgLnZhbGlkYXRlKHZhbHVlKSxcbn07XG5cbmV4cG9ydCBjb25zdCBVbmJvbmRUcmFuc2FjdGlvblNjaGVtYSA9IHtcbiAgdmFsaWRhdGU6ICh2YWx1ZTogeyB2YWx1ZTogc3RyaW5nIH0pOiBqb2kuVmFsaWRhdGlvblJlc3VsdCA9PlxuICAgIGpvaVxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgICAgIH0pXG4gICAgICAudmFsaWRhdGUodmFsdWUpLFxufTtcblxuZXhwb3J0IGNvbnN0IFdpdGhkcmF3VW5ib25kZWRUcmFuc2FjdGlvblNjaGVtYSA9IHtcbiAgdmFsaWRhdGU6ICh2YWx1ZTogeyBzbGFzaGluZ1NwYW5zOiBudW1iZXIgfSk6IGpvaS5WYWxpZGF0aW9uUmVzdWx0ID0+XG4gICAgam9pXG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgc2xhc2hpbmdTcGFuczogam9pLm51bWJlcigpLm1pbigwKS5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICAgIC52YWxpZGF0ZSh2YWx1ZSksXG59O1xuIl19
@@ -1,11 +1,20 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
- import { HexTokenTransferBuilder } from './hexTokenTransferBuilder';
2
+ import { V8TokenTransferBuilder } from './v8TokenTransferBuilder';
3
3
  /**
4
- * Builds a Polymesh settlement.addAndAffirmWithMediators transaction using
5
- * the hex (NEW) memo encoding against Polymesh v8 chain metadata. Identical
6
- * behaviour to HexTokenTransferBuilder; only the material differs.
4
+ * Builds a Polymesh settlement.addAndAffirmWithMediators transaction using the NEW
5
+ * (hex) memo encoding against Polymesh v8 chain metadata, with AssetHolder-wrapped
6
+ * legs/holderSet (see V8TokenTransferBuilder). Identical to V8TokenTransferBuilder;
7
+ * only the memo encoding differs.
7
8
  */
8
- export declare class V8HexTokenTransferBuilder extends HexTokenTransferBuilder {
9
+ export declare class V8HexTokenTransferBuilder extends V8TokenTransferBuilder {
9
10
  constructor(_coinConfig: Readonly<CoinConfig>);
11
+ /**
12
+ * Encode memo using the NEW Polymesh format.
13
+ *
14
+ * If the value is already a 0x-prefixed 32-byte hex string (e.g. when decoding an
15
+ * existing NEW-encoded transaction via fromImplementation), it is stored as-is.
16
+ * Otherwise the text is converted to UTF-8 hex and right-padded with 0x00 to 32 bytes.
17
+ */
18
+ memo(memo: string): this;
10
19
  }
11
20
  //# sourceMappingURL=v8HexTokenTransferBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v8HexTokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8HexTokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,uBAAuB;gBACxD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI9C"}
1
+ {"version":3,"file":"v8HexTokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8HexTokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;gBACvD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAWzB"}
@@ -4,18 +4,39 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.V8HexTokenTransferBuilder = void 0;
7
- const hexTokenTransferBuilder_1 = require("./hexTokenTransferBuilder");
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const v8TokenTransferBuilder_1 = require("./v8TokenTransferBuilder");
9
+ const constants_1 = require("./constants");
8
10
  const utils_1 = __importDefault(require("./utils"));
9
11
  /**
10
- * Builds a Polymesh settlement.addAndAffirmWithMediators transaction using
11
- * the hex (NEW) memo encoding against Polymesh v8 chain metadata. Identical
12
- * behaviour to HexTokenTransferBuilder; only the material differs.
12
+ * Builds a Polymesh settlement.addAndAffirmWithMediators transaction using the NEW
13
+ * (hex) memo encoding against Polymesh v8 chain metadata, with AssetHolder-wrapped
14
+ * legs/holderSet (see V8TokenTransferBuilder). Identical to V8TokenTransferBuilder;
15
+ * only the memo encoding differs.
13
16
  */
14
- class V8HexTokenTransferBuilder extends hexTokenTransferBuilder_1.HexTokenTransferBuilder {
17
+ class V8HexTokenTransferBuilder extends v8TokenTransferBuilder_1.V8TokenTransferBuilder {
15
18
  constructor(_coinConfig) {
16
19
  super(_coinConfig);
17
- this.material(utils_1.default.getV8Material(_coinConfig.network.type));
20
+ }
21
+ /**
22
+ * Encode memo using the NEW Polymesh format.
23
+ *
24
+ * If the value is already a 0x-prefixed 32-byte hex string (e.g. when decoding an
25
+ * existing NEW-encoded transaction via fromImplementation), it is stored as-is.
26
+ * Otherwise the text is converted to UTF-8 hex and right-padded with 0x00 to 32 bytes.
27
+ */
28
+ memo(memo) {
29
+ if (memo.startsWith('0x') && memo.length === 66) {
30
+ if (!constants_1.MEMO_HEX_REGEX.test(memo)) {
31
+ throw new sdk_core_1.InvalidTransactionError(`Invalid memo hex encoding: ${memo}`);
32
+ }
33
+ this._memo = memo;
34
+ }
35
+ else {
36
+ this._memo = utils_1.default.encodeMemoNew(memo);
37
+ }
38
+ return this;
18
39
  }
19
40
  }
20
41
  exports.V8HexTokenTransferBuilder = V8HexTokenTransferBuilder;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx1RUFBb0U7QUFDcEUsb0RBQTRCO0FBRTVCOzs7O0dBSUc7QUFDSCxNQUFhLHlCQUEwQixTQUFRLGlEQUF1QjtJQUNwRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQUxELDhEQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgSGV4VG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL2hleFRva2VuVHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBCdWlsZHMgYSBQb2x5bWVzaCBzZXR0bGVtZW50LmFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMgdHJhbnNhY3Rpb24gdXNpbmdcbiAqIHRoZSBoZXggKE5FVykgbWVtbyBlbmNvZGluZyBhZ2FpbnN0IFBvbHltZXNoIHY4IGNoYWluIG1ldGFkYXRhLiBJZGVudGljYWxcbiAqIGJlaGF2aW91ciB0byBIZXhUb2tlblRyYW5zZmVyQnVpbGRlcjsgb25seSB0aGUgbWF0ZXJpYWwgZGlmZmVycy5cbiAqL1xuZXhwb3J0IGNsYXNzIFY4SGV4VG9rZW5UcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBIZXhUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLm1hdGVyaWFsKHV0aWxzLmdldFY4TWF0ZXJpYWwoX2NvaW5Db25maWcubmV0d29yay50eXBlKSk7XG4gIH1cbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxtREFBK0Q7QUFDL0QscUVBQWtFO0FBQ2xFLDJDQUE2QztBQUM3QyxvREFBNEI7QUFFNUI7Ozs7O0dBS0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLCtDQUFzQjtJQUNuRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxDQUFDLElBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsMEJBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUF2QkQsOERBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBWOFRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi92OFRva2VuVHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IE1FTU9fSEVYX1JFR0VYIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEJ1aWxkcyBhIFBvbHltZXNoIHNldHRsZW1lbnQuYWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyB0cmFuc2FjdGlvbiB1c2luZyB0aGUgTkVXXG4gKiAoaGV4KSBtZW1vIGVuY29kaW5nIGFnYWluc3QgUG9seW1lc2ggdjggY2hhaW4gbWV0YWRhdGEsIHdpdGggQXNzZXRIb2xkZXItd3JhcHBlZFxuICogbGVncy9ob2xkZXJTZXQgKHNlZSBWOFRva2VuVHJhbnNmZXJCdWlsZGVyKS4gSWRlbnRpY2FsIHRvIFY4VG9rZW5UcmFuc2ZlckJ1aWxkZXI7XG4gKiBvbmx5IHRoZSBtZW1vIGVuY29kaW5nIGRpZmZlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBWOEhleFRva2VuVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVjhUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGUgbWVtbyB1c2luZyB0aGUgTkVXIFBvbHltZXNoIGZvcm1hdC5cbiAgICpcbiAgICogSWYgdGhlIHZhbHVlIGlzIGFscmVhZHkgYSAweC1wcmVmaXhlZCAzMi1ieXRlIGhleCBzdHJpbmcgKGUuZy4gd2hlbiBkZWNvZGluZyBhblxuICAgKiBleGlzdGluZyBORVctZW5jb2RlZCB0cmFuc2FjdGlvbiB2aWEgZnJvbUltcGxlbWVudGF0aW9uKSwgaXQgaXMgc3RvcmVkIGFzLWlzLlxuICAgKiBPdGhlcndpc2UgdGhlIHRleHQgaXMgY29udmVydGVkIHRvIFVURi04IGhleCBhbmQgcmlnaHQtcGFkZGVkIHdpdGggMHgwMCB0byAzMiBieXRlcy5cbiAgICovXG4gIG1lbW8obWVtbzogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKG1lbW8uc3RhcnRzV2l0aCgnMHgnKSAmJiBtZW1vLmxlbmd0aCA9PT0gNjYpIHtcbiAgICAgIGlmICghTUVNT19IRVhfUkVHRVgudGVzdChtZW1vKSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgbWVtbyBoZXggZW5jb2Rpbmc6ICR7bWVtb31gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX21lbW8gPSBtZW1vO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tZW1vID0gdXRpbHMuZW5jb2RlTWVtb05ldyhtZW1vKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { PolyxBaseBuilder } from './baseBuilder';
2
+ import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
3
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
+ import { TransactionType, BaseAddress } from '@bitgo-beta/sdk-core';
5
+ import { TxMethod } from './iface';
6
+ import { Transaction } from './transaction';
7
+ /**
8
+ * Builds a Polymesh identity.registerDid transaction (0x0718) — the v8 DID Registrar path.
9
+ * BitGo acts as a DID Registrar and signs with the platform key, same operational model as
10
+ * the v7 identity.cddRegisterDidWithCdd path (RegisterDidWithCDDBuilder): same signer, same
11
+ * HSM flow, only the extrinsic name/call index and initialized metadata differ.
12
+ *
13
+ * Unlike the v7 CDD path, registerDid takes only `targetAccount` — verified against the real
14
+ * testnetV8Material metadata (its call fields are `[target_account]` only). The migration plan's
15
+ * dry-run note claiming an identical {targetAccount, secondaryKeys, expiry} shape does not hold.
16
+ *
17
+ * Pre-condition (open question, see migration plan §6.2): BitGo's platform key must be
18
+ * permissioned on-chain as a DID Registrar before identity.registerDid is accepted.
19
+ */
20
+ export declare class V8RegisterDidBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
21
+ protected _to: string;
22
+ protected _method: TxMethod;
23
+ constructor(_coinConfig: Readonly<CoinConfig>);
24
+ protected get transactionType(): TransactionType;
25
+ protected buildTransaction(): UnsignedTransaction;
26
+ /**
27
+ *
28
+ * The destination address for transfer transaction.
29
+ *
30
+ * @param {string} dest
31
+ * @returns {V8RegisterDidBuilder} This register-did builder.
32
+ */
33
+ to({ address }: BaseAddress): this;
34
+ /** @inheritdoc */
35
+ protected fromImplementation(rawTransaction: string): Transaction;
36
+ /** @inheritdoc */
37
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
38
+ /**
39
+ * Construct a transaction to register a DID via the v8 DID Registrar path
40
+ *
41
+ * @param {RegisterDidArgs} args Arguments to be passed to the registerDid method
42
+ * @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the DID registration txn
43
+ * @returns {UnsignedTransaction} an unsigned transaction for DID registration
44
+ */
45
+ private registerDid;
46
+ }
47
+ //# sourceMappingURL=v8RegisterDidBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v8RegisterDidBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8RegisterDidBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,WAAW,EAA2B,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAmB,QAAQ,EAAe,MAAM,SAAS,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/E,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAEhB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAUjD;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,IAAI;IAMlC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAWjE,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAU9G;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;CAapB"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.V8RegisterDidBuilder = void 0;
7
+ const abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
8
+ const baseBuilder_1 = require("./baseBuilder");
9
+ const txwrapper_core_1 = require("@substrate/txwrapper-core");
10
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
11
+ const iface_1 = require("./iface");
12
+ const txnSchema_1 = require("./txnSchema");
13
+ const transaction_1 = require("./transaction");
14
+ const utils_1 = __importDefault(require("./utils"));
15
+ /**
16
+ * Builds a Polymesh identity.registerDid transaction (0x0718) — the v8 DID Registrar path.
17
+ * BitGo acts as a DID Registrar and signs with the platform key, same operational model as
18
+ * the v7 identity.cddRegisterDidWithCdd path (RegisterDidWithCDDBuilder): same signer, same
19
+ * HSM flow, only the extrinsic name/call index and initialized metadata differ.
20
+ *
21
+ * Unlike the v7 CDD path, registerDid takes only `targetAccount` — verified against the real
22
+ * testnetV8Material metadata (its call fields are `[target_account]` only). The migration plan's
23
+ * dry-run note claiming an identical {targetAccount, secondaryKeys, expiry} shape does not hold.
24
+ *
25
+ * Pre-condition (open question, see migration plan §6.2): BitGo's platform key must be
26
+ * permissioned on-chain as a DID Registrar before identity.registerDid is accepted.
27
+ */
28
+ class V8RegisterDidBuilder extends baseBuilder_1.PolyxBaseBuilder {
29
+ constructor(_coinConfig) {
30
+ super(_coinConfig);
31
+ this._transaction = new transaction_1.Transaction(_coinConfig);
32
+ this.material(utils_1.default.getV8Material(_coinConfig.network.type));
33
+ }
34
+ get transactionType() {
35
+ return sdk_core_1.TransactionType.WalletInitialization;
36
+ }
37
+ buildTransaction() {
38
+ const baseTxInfo = this.createBaseTxInfo();
39
+ return this.registerDid({
40
+ targetAccount: this._to,
41
+ }, baseTxInfo);
42
+ }
43
+ /**
44
+ *
45
+ * The destination address for transfer transaction.
46
+ *
47
+ * @param {string} dest
48
+ * @returns {V8RegisterDidBuilder} This register-did builder.
49
+ */
50
+ to({ address }) {
51
+ this.validateAddress({ address });
52
+ this._to = address;
53
+ return this;
54
+ }
55
+ /** @inheritdoc */
56
+ fromImplementation(rawTransaction) {
57
+ const tx = super.fromImplementation(rawTransaction);
58
+ if (this._method?.name === iface_1.MethodNames.RegisterDid) {
59
+ const txMethod = this._method.args;
60
+ this.to({ address: abstract_substrate_1.utils.decodeSubstrateAddress(txMethod.targetAccount, this.getAddressFormat()) });
61
+ }
62
+ else {
63
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected RegisterDid`);
64
+ }
65
+ return tx;
66
+ }
67
+ /** @inheritdoc */
68
+ validateDecodedTransaction(decodedTxn, rawTransaction) {
69
+ if (decodedTxn.method?.name === iface_1.MethodNames.RegisterDid) {
70
+ const txMethod = decodedTxn.method.args;
71
+ const validationResult = txnSchema_1.RegisterDidTransactionSchema.validate({ targetAccount: txMethod.targetAccount });
72
+ if (validationResult.error) {
73
+ throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: ${validationResult.error.message}`);
74
+ }
75
+ }
76
+ }
77
+ /**
78
+ * Construct a transaction to register a DID via the v8 DID Registrar path
79
+ *
80
+ * @param {RegisterDidArgs} args Arguments to be passed to the registerDid method
81
+ * @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the DID registration txn
82
+ * @returns {UnsignedTransaction} an unsigned transaction for DID registration
83
+ */
84
+ registerDid(args, info) {
85
+ return (0, txwrapper_core_1.defineMethod)({
86
+ method: {
87
+ args,
88
+ name: 'registerDid',
89
+ pallet: 'identity',
90
+ },
91
+ ...info.baseTxInfo,
92
+ }, info.options);
93
+ }
94
+ }
95
+ exports.V8RegisterDidBuilder = V8RegisterDidBuilder;
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhSZWdpc3RlckRpZEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Y4UmVnaXN0ZXJEaWRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVFQUFrRTtBQUNsRSwrQ0FBaUQ7QUFDakQsOERBQXNIO0FBRXRILG1EQUE2RjtBQUM3RixtQ0FBaUU7QUFDakUsMkNBQTJEO0FBQzNELCtDQUE0QztBQUM1QyxvREFBaUM7QUFFakM7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSw4QkFBdUM7SUFJL0UsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxvQkFBb0IsQ0FBQztJQUM5QyxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FDckI7WUFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDeEIsRUFDRCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQWU7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUM7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEtBQUssbUJBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQXVCLENBQUM7WUFDdEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSwwQkFBSyxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEcsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksa0NBQXVCLENBQUMsNkJBQTZCLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDO1FBQzdHLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMEJBQTBCLENBQUMsVUFBbUQsRUFBRSxjQUF1QjtRQUNyRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxLQUFLLG1CQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUF1QixDQUFDO1lBQzNELE1BQU0sZ0JBQWdCLEdBQUcsd0NBQTRCLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQzFHLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDOUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssV0FBVyxDQUFDLElBQXFCLEVBQUUsSUFBZ0M7UUFDekUsT0FBTyxJQUFBLDZCQUFZLEVBQ2pCO1lBQ0UsTUFBTSxFQUFFO2dCQUNOLElBQUk7Z0JBQ0osSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLE1BQU0sRUFBRSxVQUFVO2FBQ25CO1lBQ0QsR0FBRyxJQUFJLENBQUMsVUFBVTtTQUNuQixFQUNELElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWhGRCxvREFnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcmZhY2UsIHV0aWxzIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IFBvbHl4QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2Jhc2VCdWlsZGVyJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBkZWZpbmVNZXRob2QsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSwgQmFzZUFkZHJlc3MsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgUmVnaXN0ZXJEaWRBcmdzLCBUeE1ldGhvZCwgTWV0aG9kTmFtZXMgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFJlZ2lzdGVyRGlkVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHBvbHl4VXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQnVpbGRzIGEgUG9seW1lc2ggaWRlbnRpdHkucmVnaXN0ZXJEaWQgdHJhbnNhY3Rpb24gKDB4MDcxOCkg4oCUIHRoZSB2OCBESUQgUmVnaXN0cmFyIHBhdGguXG4gKiBCaXRHbyBhY3RzIGFzIGEgRElEIFJlZ2lzdHJhciBhbmQgc2lnbnMgd2l0aCB0aGUgcGxhdGZvcm0ga2V5LCBzYW1lIG9wZXJhdGlvbmFsIG1vZGVsIGFzXG4gKiB0aGUgdjcgaWRlbnRpdHkuY2RkUmVnaXN0ZXJEaWRXaXRoQ2RkIHBhdGggKFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIpOiBzYW1lIHNpZ25lciwgc2FtZVxuICogSFNNIGZsb3csIG9ubHkgdGhlIGV4dHJpbnNpYyBuYW1lL2NhbGwgaW5kZXggYW5kIGluaXRpYWxpemVkIG1ldGFkYXRhIGRpZmZlci5cbiAqXG4gKiBVbmxpa2UgdGhlIHY3IENERCBwYXRoLCByZWdpc3RlckRpZCB0YWtlcyBvbmx5IGB0YXJnZXRBY2NvdW50YCDigJQgdmVyaWZpZWQgYWdhaW5zdCB0aGUgcmVhbFxuICogdGVzdG5ldFY4TWF0ZXJpYWwgbWV0YWRhdGEgKGl0cyBjYWxsIGZpZWxkcyBhcmUgYFt0YXJnZXRfYWNjb3VudF1gIG9ubHkpLiBUaGUgbWlncmF0aW9uIHBsYW4nc1xuICogZHJ5LXJ1biBub3RlIGNsYWltaW5nIGFuIGlkZW50aWNhbCB7dGFyZ2V0QWNjb3VudCwgc2Vjb25kYXJ5S2V5cywgZXhwaXJ5fSBzaGFwZSBkb2VzIG5vdCBob2xkLlxuICpcbiAqIFByZS1jb25kaXRpb24gKG9wZW4gcXVlc3Rpb24sIHNlZSBtaWdyYXRpb24gcGxhbiDCpzYuMik6IEJpdEdvJ3MgcGxhdGZvcm0ga2V5IG11c3QgYmVcbiAqIHBlcm1pc3Npb25lZCBvbi1jaGFpbiBhcyBhIERJRCBSZWdpc3RyYXIgYmVmb3JlIGlkZW50aXR5LnJlZ2lzdGVyRGlkIGlzIGFjY2VwdGVkLlxuICovXG5leHBvcnQgY2xhc3MgVjhSZWdpc3RlckRpZEJ1aWxkZXIgZXh0ZW5kcyBQb2x5eEJhc2VCdWlsZGVyPFR4TWV0aG9kLCBUcmFuc2FjdGlvbj4ge1xuICBwcm90ZWN0ZWQgX3RvOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfbWV0aG9kOiBUeE1ldGhvZDtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICAgIHRoaXMubWF0ZXJpYWwocG9seXhVdGlscy5nZXRWOE1hdGVyaWFsKF9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdGVyRGlkKFxuICAgICAge1xuICAgICAgICB0YXJnZXRBY2NvdW50OiB0aGlzLl90byxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZXN0XG4gICAqIEByZXR1cm5zIHtWOFJlZ2lzdGVyRGlkQnVpbGRlcn0gVGhpcyByZWdpc3Rlci1kaWQgYnVpbGRlci5cbiAgICovXG4gIHRvKHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl90byA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZCkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBSZWdpc3RlckRpZEFyZ3M7XG4gICAgICB0aGlzLnRvKHsgYWRkcmVzczogdXRpbHMuZGVjb2RlU3Vic3RyYXRlQWRkcmVzcyh0eE1ldGhvZC50YXJnZXRBY2NvdW50LCB0aGlzLmdldEFkZHJlc3NGb3JtYXQoKSkgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIFJlZ2lzdGVyRGlkYCk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgsIHJhd1RyYW5zYWN0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZCkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIFJlZ2lzdGVyRGlkQXJncztcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBSZWdpc3RlckRpZFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdGFyZ2V0QWNjb3VudDogdHhNZXRob2QudGFyZ2V0QWNjb3VudCB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCB0cmFuc2FjdGlvbjogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCBhIHRyYW5zYWN0aW9uIHRvIHJlZ2lzdGVyIGEgRElEIHZpYSB0aGUgdjggRElEIFJlZ2lzdHJhciBwYXRoXG4gICAqXG4gICAqIEBwYXJhbSB7UmVnaXN0ZXJEaWRBcmdzfSBhcmdzIEFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIHJlZ2lzdGVyRGlkIG1ldGhvZFxuICAgKiBAcGFyYW0ge0ludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvfSBpbmZvIEJhc2UgdHhuIGluZm8gcmVxdWlyZWQgdG8gY29uc3RydWN0IHRoZSBESUQgcmVnaXN0cmF0aW9uIHR4blxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgdHJhbnNhY3Rpb24gZm9yIERJRCByZWdpc3RyYXRpb25cbiAgICovXG4gIHByaXZhdGUgcmVnaXN0ZXJEaWQoYXJnczogUmVnaXN0ZXJEaWRBcmdzLCBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mbyk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ3JlZ2lzdGVyRGlkJyxcbiAgICAgICAgICBwYWxsZXQ6ICdpZGVudGl0eScsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmluZm8uYmFzZVR4SW5mbyxcbiAgICAgIH0sXG4gICAgICBpbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,11 +1,24 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
2
3
  import { TokenTransferBuilder } from './tokenTransferBuilder';
4
+ import { AddAndAffirmWithMediatorsArgs } from './iface';
3
5
  /**
4
- * Builds a Polymesh settlement.addAndAffirmWithMediators transaction against
5
- * Polymesh v8 chain metadata. Identical behaviour to TokenTransferBuilder;
6
- * only the material differs.
6
+ * Builds a Polymesh settlement.addAndAffirmWithMediators transaction against Polymesh v8
7
+ * chain metadata.
8
+ *
9
+ * Confirmed on Polymesh Testnet v8 (block 24801173): the call index is unchanged (0x2514), but
10
+ * the top-level `portfolios` field is renamed `holderSet`, and every leg `sender`/`receiver` is
11
+ * wrapped in the `AssetHolder` enum (`{ Portfolio: { did, kind } }`) instead of the bare v7
12
+ * PortfolioId shape. TokenTransferBuilder's v7 args are therefore not compatible with v8
13
+ * metadata as-is; this builder constructs the v8-shaped args directly.
7
14
  */
8
15
  export declare class V8TokenTransferBuilder extends TokenTransferBuilder {
9
16
  constructor(_coinConfig: Readonly<CoinConfig>);
17
+ protected buildTransaction(): UnsignedTransaction;
18
+ /** @inheritdoc */
19
+ protected populateFromMethodArgs(txMethod: AddAndAffirmWithMediatorsArgs): void;
20
+ /** @inheritdoc */
21
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
22
+ private buildV8AddAndAffirmWithMediators;
10
23
  }
11
24
  //# sourceMappingURL=v8TokenTransferBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v8TokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8TokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,oBAAoB;gBAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI9C"}
1
+ {"version":3,"file":"v8TokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8TokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,6BAA6B,EAQ9B,MAAM,SAAS,CAAC;AAejB;;;;;;;;;GASG;AACH,qBAAa,sBAAuB,SAAQ,oBAAoB;gBAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IA4BjD,kBAAkB;IAClB,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,6BAA6B,GAAG,IAAI;IAS/E,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB9G,OAAO,CAAC,gCAAgC;CAgBzC"}
@@ -4,18 +4,98 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.V8TokenTransferBuilder = void 0;
7
+ const txwrapper_core_1 = require("@substrate/txwrapper-core");
7
8
  const tokenTransferBuilder_1 = require("./tokenTransferBuilder");
9
+ const iface_1 = require("./iface");
10
+ const txnSchema_1 = require("./txnSchema");
8
11
  const utils_1 = __importDefault(require("./utils"));
9
12
  /**
10
- * Builds a Polymesh settlement.addAndAffirmWithMediators transaction against
11
- * Polymesh v8 chain metadata. Identical behaviour to TokenTransferBuilder;
12
- * only the material differs.
13
+ * Reads the DID out of a decoded AssetHolder. Only the `Portfolio` variant is supported —
14
+ * `Account` covers v8 account-based ownership, which is out of scope for this migration.
15
+ */
16
+ function assetHolderDID(holder) {
17
+ if ('portfolio' in holder) {
18
+ return holder.portfolio.did;
19
+ }
20
+ throw new Error('Unsupported AssetHolder variant: Account (account-based ownership is out of scope)');
21
+ }
22
+ /**
23
+ * Builds a Polymesh settlement.addAndAffirmWithMediators transaction against Polymesh v8
24
+ * chain metadata.
25
+ *
26
+ * Confirmed on Polymesh Testnet v8 (block 24801173): the call index is unchanged (0x2514), but
27
+ * the top-level `portfolios` field is renamed `holderSet`, and every leg `sender`/`receiver` is
28
+ * wrapped in the `AssetHolder` enum (`{ Portfolio: { did, kind } }`) instead of the bare v7
29
+ * PortfolioId shape. TokenTransferBuilder's v7 args are therefore not compatible with v8
30
+ * metadata as-is; this builder constructs the v8-shaped args directly.
13
31
  */
14
32
  class V8TokenTransferBuilder extends tokenTransferBuilder_1.TokenTransferBuilder {
15
33
  constructor(_coinConfig) {
16
34
  super(_coinConfig);
17
35
  this.material(utils_1.default.getV8Material(_coinConfig.network.type));
18
36
  }
37
+ buildTransaction() {
38
+ const baseTxInfo = this.createBaseTxInfo();
39
+ const senderHolder = { Portfolio: { did: this._fromDID, kind: iface_1.PortfolioKind.Default } };
40
+ const receiverHolder = { Portfolio: { did: this._toDID, kind: iface_1.PortfolioKind.Default } };
41
+ return this.buildV8AddAndAffirmWithMediators({
42
+ venueId: null,
43
+ settlementType: iface_1.SettlementType.SettleOnAffirmation,
44
+ tradeDate: null,
45
+ valueDate: null,
46
+ legs: [
47
+ {
48
+ fungible: {
49
+ sender: senderHolder,
50
+ receiver: receiverHolder,
51
+ assetId: this._assetId,
52
+ amount: this._amount,
53
+ },
54
+ },
55
+ ],
56
+ holderSet: [senderHolder],
57
+ instructionMemo: this._memo,
58
+ mediators: [],
59
+ }, baseTxInfo);
60
+ }
61
+ /** @inheritdoc */
62
+ populateFromMethodArgs(txMethod) {
63
+ const v8Method = txMethod;
64
+ this.assetId(v8Method.legs[0].fungible.assetId);
65
+ this.amount(v8Method.legs[0].fungible.amount);
66
+ this.memo(v8Method.instructionMemo);
67
+ this.fromDID(assetHolderDID(v8Method.legs[0].fungible.sender));
68
+ this.toDID(assetHolderDID(v8Method.legs[0].fungible.receiver));
69
+ }
70
+ /** @inheritdoc */
71
+ validateDecodedTransaction(decodedTxn, rawTransaction) {
72
+ if (decodedTxn.method?.name === iface_1.MethodNames.AddAndAffirmWithMediators) {
73
+ const txMethod = decodedTxn.method.args;
74
+ const validationResult = txnSchema_1.V8AddAndAffirmWithMediatorsTransactionSchema.validate({
75
+ venueId: txMethod.venueId,
76
+ settlementType: txMethod.settlementType,
77
+ tradeDate: txMethod.tradeDate,
78
+ valueDate: txMethod.valueDate,
79
+ legs: txMethod.legs,
80
+ holderSet: txMethod.holderSet,
81
+ instructionMemo: txMethod.instructionMemo,
82
+ mediators: txMethod.mediators,
83
+ });
84
+ if (validationResult.error) {
85
+ throw new Error(`Invalid transaction: ${validationResult.error.message}`);
86
+ }
87
+ }
88
+ }
89
+ buildV8AddAndAffirmWithMediators(args, info) {
90
+ return (0, txwrapper_core_1.defineMethod)({
91
+ method: {
92
+ args,
93
+ name: 'addAndAffirmWithMediators',
94
+ pallet: 'settlement',
95
+ },
96
+ ...info.baseTxInfo,
97
+ }, info.options);
98
+ }
19
99
  }
20
100
  exports.V8TokenTransferBuilder = V8TokenTransferBuilder;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhUb2tlblRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdjhUb2tlblRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxpRUFBOEQ7QUFDOUQsb0RBQTRCO0FBRTVCOzs7O0dBSUc7QUFDSCxNQUFhLHNCQUF1QixTQUFRLDJDQUFvQjtJQUM5RCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQUxELHdEQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Rva2VuVHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBCdWlsZHMgYSBQb2x5bWVzaCBzZXR0bGVtZW50LmFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMgdHJhbnNhY3Rpb24gYWdhaW5zdFxuICogUG9seW1lc2ggdjggY2hhaW4gbWV0YWRhdGEuIElkZW50aWNhbCBiZWhhdmlvdXIgdG8gVG9rZW5UcmFuc2ZlckJ1aWxkZXI7XG4gKiBvbmx5IHRoZSBtYXRlcmlhbCBkaWZmZXJzLlxuICovXG5leHBvcnQgY2xhc3MgVjhUb2tlblRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRva2VuVHJhbnNmZXJCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMubWF0ZXJpYWwodXRpbHMuZ2V0VjhNYXRlcmlhbChfY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpKTtcbiAgfVxufVxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhUb2tlblRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdjhUb2tlblRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSw4REFBc0g7QUFDdEgsaUVBQThEO0FBQzlELG1DQVNpQjtBQUNqQiwyQ0FBMkU7QUFDM0Usb0RBQTRCO0FBRTVCOzs7R0FHRztBQUNILFNBQVMsY0FBYyxDQUFDLE1BQTBCO0lBQ2hELElBQUksV0FBVyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzFCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDOUIsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsb0ZBQW9GLENBQUMsQ0FBQztBQUN4RyxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwyQ0FBb0I7SUFDOUQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE1BQU0sWUFBWSxHQUFnQixFQUFFLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxxQkFBYSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDckcsTUFBTSxjQUFjLEdBQWdCLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLHFCQUFhLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNyRyxPQUFPLElBQUksQ0FBQyxnQ0FBZ0Ms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J0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBkZWZpbmVNZXRob2QsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IFRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQge1xuICBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncyxcbiAgQXNzZXRIb2xkZXIsXG4gIERlY29kZWRBc3NldEhvbGRlcixcbiAgRGVjb2RlZFY4QWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc0FyZ3MsXG4gIE1ldGhvZE5hbWVzLFxuICBQb3J0Zm9saW9LaW5kLFxuICBTZXR0bGVtZW50VHlwZSxcbiAgVjhBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncyxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBWOEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBSZWFkcyB0aGUgRElEIG91dCBvZiBhIGRlY29kZWQgQXNzZXRIb2xkZXIuIE9ubHkgdGhlIGBQb3J0Zm9saW9gIHZhcmlhbnQgaXMgc3VwcG9ydGVkIOKAlFxuICogYEFjY291bnRgIGNvdmVycyB2OCBhY2NvdW50LWJhc2VkIG93bmVyc2hpcCwgd2hpY2ggaXMgb3V0IG9mIHNjb3BlIGZvciB0aGlzIG1pZ3JhdGlvbi5cbiAqL1xuZnVuY3Rpb24gYXNzZXRIb2xkZXJESUQoaG9sZGVyOiBEZWNvZGVkQXNzZXRIb2xkZXIpOiBzdHJpbmcge1xuICBpZiAoJ3BvcnRmb2xpbycgaW4gaG9sZGVyKSB7XG4gICAgcmV0dXJuIGhvbGRlci5wb3J0Zm9saW8uZGlkO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgQXNzZXRIb2xkZXIgdmFyaWFudDogQWNjb3VudCAoYWNjb3VudC1iYXNlZCBvd25lcnNoaXAgaXMgb3V0IG9mIHNjb3BlKScpO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFBvbHltZXNoIHNldHRsZW1lbnQuYWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyB0cmFuc2FjdGlvbiBhZ2FpbnN0IFBvbHltZXNoIHY4XG4gKiBjaGFpbiBtZXRhZGF0YS5cbiAqXG4gKiBDb25maXJtZWQgb24gUG9seW1lc2ggVGVzdG5ldCB2OCAoYmxvY2sgMjQ4MDExNzMpOiB0aGUgY2FsbCBpbmRleCBpcyB1bmNoYW5nZWQgKDB4MjUxNCksIGJ1dFxuICogdGhlIHRvcC1sZXZlbCBgcG9ydGZvbGlvc2AgZmllbGQgaXMgcmVuYW1lZCBgaG9sZGVyU2V0YCwgYW5kIGV2ZXJ5IGxlZyBgc2VuZGVyYC9gcmVjZWl2ZXJgIGlzXG4gKiB3cmFwcGVkIGluIHRoZSBgQXNzZXRIb2xkZXJgIGVudW0gKGB7IFBvcnRmb2xpbzogeyBkaWQsIGtpbmQgfSB9YCkgaW5zdGVhZCBvZiB0aGUgYmFyZSB2N1xuICogUG9ydGZvbGlvSWQgc2hhcGUuIFRva2VuVHJhbnNmZXJCdWlsZGVyJ3MgdjcgYXJncyBhcmUgdGhlcmVmb3JlIG5vdCBjb21wYXRpYmxlIHdpdGggdjhcbiAqIG1ldGFkYXRhIGFzLWlzOyB0aGlzIGJ1aWxkZXIgY29uc3RydWN0cyB0aGUgdjgtc2hhcGVkIGFyZ3MgZGlyZWN0bHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBWOFRva2VuVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5tYXRlcmlhbCh1dGlscy5nZXRWOE1hdGVyaWFsKF9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHNlbmRlckhvbGRlcjogQXNzZXRIb2xkZXIgPSB7IFBvcnRmb2xpbzogeyBkaWQ6IHRoaXMuX2Zyb21ESUQsIGtpbmQ6IFBvcnRmb2xpb0tpbmQuRGVmYXVsdCB9IH07XG4gICAgY29uc3QgcmVjZWl2ZXJIb2xkZXI6IEFzc2V0SG9sZGVyID0geyBQb3J0Zm9saW86IHsgZGlkOiB0aGlzLl90b0RJRCwga2luZDogUG9ydGZvbGlvS2luZC5EZWZhdWx0IH0gfTtcbiAgICByZXR1cm4gdGhpcy5idWlsZFY4QWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyhcbiAgICAgIHtcbiAgICAgICAgdmVudWVJZDogbnVsbCxcbiAgICAgICAgc2V0dGxlbWVudFR5cGU6IFNldHRsZW1lbnRUeXBlLlNldHRsZU9uQWZmaXJtYXRpb24sXG4gICAgICAgIHRyYWRlRGF0ZTogbnVsbCxcbiAgICAgICAgdmFsdWVEYXRlOiBudWxsLFxuICAgICAgICBsZWdzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnVuZ2libGU6IHtcbiAgICAgICAgICAgICAgc2VuZGVyOiBzZW5kZXJIb2xkZXIsXG4gICAgICAgICAgICAgIHJlY2VpdmVyOiByZWNlaXZlckhvbGRlcixcbiAgICAgICAgICAgICAgYXNzZXRJZDogdGhpcy5fYXNzZXRJZCxcbiAgICAgICAgICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGhvbGRlclNldDogW3NlbmRlckhvbGRlcl0sXG4gICAgICAgIGluc3RydWN0aW9uTWVtbzogdGhpcy5fbWVtbyxcbiAgICAgICAgbWVkaWF0b3JzOiBbXSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgcG9wdWxhdGVGcm9tTWV0aG9kQXJncyh0eE1ldGhvZDogQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc0FyZ3MpOiB2b2lkIHtcbiAgICBjb25zdCB2OE1ldGhvZCA9IHR4TWV0aG9kIGFzIHVua25vd24gYXMgRGVjb2RlZFY4QWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc0FyZ3M7XG4gICAgdGhpcy5hc3NldElkKHY4TWV0aG9kLmxlZ3NbMF0uZnVuZ2libGUuYXNzZXRJZCk7XG4gICAgdGhpcy5hbW91bnQodjhNZXRob2QubGVnc1swXS5mdW5naWJsZS5hbW91bnQpO1xuICAgIHRoaXMubWVtbyh2OE1ldGhvZC5pbnN0cnVjdGlvbk1lbW8pO1xuICAgIHRoaXMuZnJvbURJRChhc3NldEhvbGRlckRJRCh2OE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLnNlbmRlcikpO1xuICAgIHRoaXMudG9ESUQoYXNzZXRIb2xkZXJESUQodjhNZXRob2QubGVnc1swXS5mdW5naWJsZS5yZWNlaXZlcikpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCwgcmF3VHJhbnNhY3Rpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIERlY29kZWRWOEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNBcmdzO1xuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFY4QWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc1RyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgICAgdmVudWVJZDogdHhNZXRob2QudmVudWVJZCxcbiAgICAgICAgc2V0dGxlbWVudFR5cGU6IHR4TWV0aG9kLnNldHRsZW1lbnRUeXBlLFxuICAgICAgICB0cmFkZURhdGU6IHR4TWV0aG9kLnRyYWRlRGF0ZSxcbiAgICAgICAgdmFsdWVEYXRlOiB0eE1ldGhvZC52YWx1ZURhdGUsXG4gICAgICAgIGxlZ3M6IHR4TWV0aG9kLmxlZ3MsXG4gICAgICAgIGhvbGRlclNldDogdHhNZXRob2QuaG9sZGVyU2V0LFxuICAgICAgICBpbnN0cnVjdGlvbk1lbW86IHR4TWV0aG9kLmluc3RydWN0aW9uTWVtbyxcbiAgICAgICAgbWVkaWF0b3JzOiB0eE1ldGhvZC5tZWRpYXRvcnMsXG4gICAgICB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cmFuc2FjdGlvbjogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFY4QWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyhcbiAgICBhcmdzOiBWOEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNBcmdzLFxuICAgIGluZm86IEludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvXG4gICk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ2FkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMnLFxuICAgICAgICAgIHBhbGxldDogJ3NldHRsZW1lbnQnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"mainnetV8.d.ts","sourceRoot":"","sources":["../../../src/resources/mainnetV8.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAY7B,CAAC"}
1
+ {"version":3,"file":"mainnetV8.d.ts","sourceRoot":"","sources":["../../../src/resources/mainnetV8.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAY7B,CAAC"}