@bitgo-beta/sdk-coin-polyx 1.0.1-beta.102 → 1.0.1-beta.1021

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 (147) hide show
  1. package/dist/src/index.d.ts +1 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +2 -1
  4. package/dist/src/lib/baseBuilder.d.ts +24 -0
  5. package/dist/src/lib/baseBuilder.d.ts.map +1 -0
  6. package/dist/src/lib/baseBuilder.js +31 -0
  7. package/dist/src/lib/batchStakingBuilder.d.ts +79 -0
  8. package/dist/src/lib/batchStakingBuilder.d.ts.map +1 -0
  9. package/dist/src/lib/batchStakingBuilder.js +299 -0
  10. package/dist/src/lib/batchUnstakingBuilder.d.ts +39 -0
  11. package/dist/src/lib/batchUnstakingBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/batchUnstakingBuilder.js +127 -0
  13. package/dist/src/lib/bondExtraBuilder.d.ts +37 -0
  14. package/dist/src/lib/bondExtraBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/bondExtraBuilder.js +101 -0
  16. package/dist/src/lib/constants.d.ts +21 -0
  17. package/dist/src/lib/constants.d.ts.map +1 -0
  18. package/dist/src/lib/constants.js +24 -0
  19. package/dist/src/lib/hexTransferBuilder.d.ts +26 -0
  20. package/dist/src/lib/hexTransferBuilder.d.ts.map +1 -0
  21. package/dist/src/lib/hexTransferBuilder.js +49 -0
  22. package/dist/src/lib/iface.d.ts +132 -2
  23. package/dist/src/lib/iface.d.ts.map +1 -1
  24. package/dist/src/lib/iface.js +37 -1
  25. package/dist/src/lib/index.d.ts +20 -0
  26. package/dist/src/lib/index.d.ts.map +1 -1
  27. package/dist/src/lib/index.js +37 -5
  28. package/dist/src/lib/nominateBuilder.d.ts +18 -0
  29. package/dist/src/lib/nominateBuilder.d.ts.map +1 -0
  30. package/dist/src/lib/nominateBuilder.js +99 -0
  31. package/dist/src/lib/preApproveAssetBuilder.d.ts +33 -0
  32. package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -0
  33. package/dist/src/lib/preApproveAssetBuilder.js +77 -0
  34. package/dist/src/lib/registerDidWithCDDBuilder.d.ts +2 -2
  35. package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -1
  36. package/dist/src/lib/registerDidWithCDDBuilder.js +7 -5
  37. package/dist/src/lib/rejectInstructionBuilder.d.ts +29 -0
  38. package/dist/src/lib/rejectInstructionBuilder.d.ts.map +1 -0
  39. package/dist/src/lib/rejectInstructionBuilder.js +89 -0
  40. package/dist/src/lib/tokenTransferBuilder.d.ts +58 -0
  41. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  42. package/dist/src/lib/tokenTransferBuilder.js +158 -0
  43. package/dist/src/lib/transaction.d.ts +21 -2
  44. package/dist/src/lib/transaction.d.ts.map +1 -1
  45. package/dist/src/lib/transaction.js +114 -2
  46. package/dist/src/lib/transactionBuilderFactory.d.ts +20 -0
  47. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  48. package/dist/src/lib/transactionBuilderFactory.js +92 -4
  49. package/dist/src/lib/transferBuilder.d.ts +4 -2
  50. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  51. package/dist/src/lib/transferBuilder.js +10 -4
  52. package/dist/src/lib/txnSchema.d.ts +47 -0
  53. package/dist/src/lib/txnSchema.d.ts.map +1 -1
  54. package/dist/src/lib/txnSchema.js +152 -2
  55. package/dist/src/lib/unbondBuilder.d.ts +37 -0
  56. package/dist/src/lib/unbondBuilder.d.ts.map +1 -0
  57. package/dist/src/lib/unbondBuilder.js +98 -0
  58. package/dist/src/lib/utils.d.ts +39 -0
  59. package/dist/src/lib/utils.d.ts.map +1 -1
  60. package/dist/src/lib/utils.js +89 -1
  61. package/dist/src/lib/withdrawUnbondedBuilder.d.ts +35 -0
  62. package/dist/src/lib/withdrawUnbondedBuilder.d.ts.map +1 -0
  63. package/dist/src/lib/withdrawUnbondedBuilder.js +89 -0
  64. package/dist/src/polyx.d.ts +49 -9
  65. package/dist/src/polyx.d.ts.map +1 -1
  66. package/dist/src/polyx.js +271 -18
  67. package/dist/src/polyxToken.d.ts +20 -0
  68. package/dist/src/polyxToken.d.ts.map +1 -0
  69. package/dist/src/polyxToken.js +55 -0
  70. package/dist/src/register.d.ts.map +1 -1
  71. package/dist/src/register.js +5 -1
  72. package/dist/src/tpolyx.d.ts +7 -0
  73. package/dist/src/tpolyx.d.ts.map +1 -1
  74. package/dist/src/tpolyx.js +11 -1
  75. package/dist/test/integration/index.d.ts +1 -0
  76. package/dist/test/integration/index.d.ts.map +1 -0
  77. package/dist/test/integration/index.js +1 -0
  78. package/dist/test/resources/index.d.ts +112 -0
  79. package/dist/test/resources/index.d.ts.map +1 -0
  80. package/dist/test/resources/index.js +121 -0
  81. package/dist/test/resources/mainnet.d.ts +2 -0
  82. package/dist/test/resources/mainnet.d.ts.map +1 -0
  83. package/dist/test/resources/mainnet.js +5 -0
  84. package/dist/test/resources/materialData.json +8 -0
  85. package/dist/test/resources/materialDataModified.json +8 -0
  86. package/dist/test/resources/testnet.d.ts +2 -0
  87. package/dist/test/resources/testnet.d.ts.map +1 -0
  88. package/dist/test/resources/testnet.js +5 -0
  89. package/dist/test/resources/wrwUsers.d.ts +19 -0
  90. package/dist/test/resources/wrwUsers.d.ts.map +1 -0
  91. package/dist/test/resources/wrwUsers.js +60 -0
  92. package/dist/test/unit/polyx.d.ts +2 -0
  93. package/dist/test/unit/polyx.d.ts.map +1 -0
  94. package/dist/test/unit/polyx.js +271 -0
  95. package/dist/test/unit/transactionBuilder/base.d.ts +4 -0
  96. package/dist/test/unit/transactionBuilder/base.d.ts.map +1 -0
  97. package/dist/test/unit/transactionBuilder/base.js +245 -0
  98. package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts +2 -0
  99. package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts.map +1 -0
  100. package/dist/test/unit/transactionBuilder/batchStakingBuilder.js +263 -0
  101. package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts +2 -0
  102. package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts.map +1 -0
  103. package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.js +159 -0
  104. package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts +2 -0
  105. package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts.map +1 -0
  106. package/dist/test/unit/transactionBuilder/bondExtraBuilder.js +158 -0
  107. package/dist/test/unit/transactionBuilder/hexTransferBuilder.d.ts +2 -0
  108. package/dist/test/unit/transactionBuilder/hexTransferBuilder.d.ts.map +1 -0
  109. package/dist/test/unit/transactionBuilder/hexTransferBuilder.js +389 -0
  110. package/dist/test/unit/transactionBuilder/nominateBuilder.d.ts +2 -0
  111. package/dist/test/unit/transactionBuilder/nominateBuilder.d.ts.map +1 -0
  112. package/dist/test/unit/transactionBuilder/nominateBuilder.js +169 -0
  113. package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts +2 -0
  114. package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts.map +1 -0
  115. package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.js +115 -0
  116. package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts +2 -0
  117. package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts.map +1 -0
  118. package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.js +302 -0
  119. package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts +2 -0
  120. package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts.map +1 -0
  121. package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.js +128 -0
  122. package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts +2 -0
  123. package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts.map +1 -0
  124. package/dist/test/unit/transactionBuilder/singletonRegistry.js +59 -0
  125. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
  126. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  127. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +140 -0
  128. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts +2 -0
  129. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
  130. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +74 -0
  131. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  132. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  133. package/dist/test/unit/transactionBuilder/transferBuilder.js +326 -0
  134. package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts +2 -0
  135. package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts.map +1 -0
  136. package/dist/test/unit/transactionBuilder/unbondBuilder.js +144 -0
  137. package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts +2 -0
  138. package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts.map +1 -0
  139. package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.js +138 -0
  140. package/dist/test/unit/utils.d.ts +2 -0
  141. package/dist/test/unit/utils.d.ts.map +1 -0
  142. package/dist/test/unit/utils.js +143 -0
  143. package/dist/tsconfig.tsbuildinfo +1 -0
  144. package/package.json +15 -10
  145. package/.eslintignore +0 -4
  146. package/.mocharc.yml +0 -8
  147. package/CHANGELOG.md +0 -35
@@ -0,0 +1,127 @@
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.BatchUnstakingBuilder = void 0;
7
+ const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
8
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
9
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
+ const baseBuilder_1 = require("./baseBuilder");
11
+ const txnSchema_1 = require("./txnSchema");
12
+ const utils_1 = __importDefault(require("./utils"));
13
+ class BatchUnstakingBuilder extends baseBuilder_1.PolyxBaseBuilder {
14
+ constructor(_coinConfig) {
15
+ super(_coinConfig);
16
+ }
17
+ /**
18
+ * Unbond tokens and chill (stop nominating validators)
19
+ *
20
+ * @returns {UnsignedTransaction} an unsigned Polyx transaction
21
+ */
22
+ buildTransaction() {
23
+ const baseTxInfo = this.createBaseTxInfo();
24
+ const chillCall = txwrapper_polkadot_1.methods.staking.chill({}, baseTxInfo.baseTxInfo, baseTxInfo.options);
25
+ const unbondCall = txwrapper_polkadot_1.methods.staking.unbond({
26
+ value: this._amount,
27
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
28
+ // Create batch all transaction (atomic execution)
29
+ return txwrapper_polkadot_1.methods.utility.batchAll({
30
+ calls: [chillCall.method, unbondCall.method],
31
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
32
+ }
33
+ get transactionType() {
34
+ return sdk_core_1.TransactionType.Batch;
35
+ }
36
+ /**
37
+ * The amount to unstake.
38
+ *
39
+ * @param {string} amount
40
+ * @returns {BatchUnstakingBuilder} This unstake builder.
41
+ */
42
+ amount(amount) {
43
+ this.validateValue(new bignumber_js_1.default(amount));
44
+ this._amount = amount;
45
+ return this;
46
+ }
47
+ /**
48
+ * Get the amount to unstake
49
+ */
50
+ getAmount() {
51
+ return this._amount;
52
+ }
53
+ /** @inheritdoc */
54
+ validateDecodedTransaction(decodedTxn) {
55
+ const methodName = decodedTxn.method?.name;
56
+ if (methodName === 'batchAll') {
57
+ const txMethod = decodedTxn.method.args;
58
+ const calls = txMethod.calls;
59
+ if (calls.length !== 2) {
60
+ throw new sdk_core_1.InvalidTransactionError(`Invalid batch unstaking transaction: expected 2 calls but got ${calls.length}`);
61
+ }
62
+ // Check that first call is chill
63
+ const firstCallMethod = utils_1.default.decodeMethodName(calls[0], this._registry);
64
+ if (firstCallMethod !== 'chill') {
65
+ throw new sdk_core_1.InvalidTransactionError(`Invalid batch unstaking transaction: first call should be chill but got ${firstCallMethod}`);
66
+ }
67
+ // Check that second call is unbond
68
+ const secondCallMethod = utils_1.default.decodeMethodName(calls[1], this._registry);
69
+ if (secondCallMethod !== 'unbond') {
70
+ throw new sdk_core_1.InvalidTransactionError(`Invalid batch unstaking transaction: second call should be unbond but got ${secondCallMethod}`);
71
+ }
72
+ // Validate unbond amount - handle both string and number formats
73
+ const unbondArgs = calls[1].args;
74
+ const valueString = typeof unbondArgs.value === 'string' ? unbondArgs.value : unbondArgs.value.toString();
75
+ const validationResult = txnSchema_1.BatchUnstakingTransactionSchema.validate({
76
+ value: valueString,
77
+ });
78
+ if (validationResult.error) {
79
+ throw new sdk_core_1.InvalidTransactionError(`Invalid batch unstaking transaction: ${validationResult.error.message}`);
80
+ }
81
+ }
82
+ else {
83
+ throw new sdk_core_1.InvalidTransactionError(`Invalid transaction type: ${methodName}. Expected batchAll`);
84
+ }
85
+ }
86
+ /** @inheritdoc */
87
+ fromImplementation(rawTransaction) {
88
+ const tx = super.fromImplementation(rawTransaction);
89
+ if (this._method && this._method.name === 'batchAll') {
90
+ const txMethod = this._method.args;
91
+ const calls = txMethod.calls;
92
+ if (calls && calls.length === 2) {
93
+ const secondCallMethod = utils_1.default.decodeMethodName(calls[1], this._registry);
94
+ if (secondCallMethod === 'unbond') {
95
+ const unbondArgs = calls[1].args;
96
+ const valueString = typeof unbondArgs.value === 'string' ? unbondArgs.value : unbondArgs.value.toString();
97
+ this.amount(valueString);
98
+ }
99
+ }
100
+ }
101
+ else {
102
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected batchAll`);
103
+ }
104
+ return tx;
105
+ }
106
+ /** @inheritdoc */
107
+ validateTransaction(_) {
108
+ super.validateTransaction(_);
109
+ this.validateFields(this._amount);
110
+ }
111
+ validateFields(value) {
112
+ const validationResult = txnSchema_1.BatchUnstakingTransactionSchema.validate({
113
+ value,
114
+ });
115
+ if (validationResult.error) {
116
+ throw new sdk_core_1.InvalidTransactionError(`Batch Unstaking Builder Transaction validation failed: ${validationResult.error.message}`);
117
+ }
118
+ }
119
+ /**
120
+ * Validates fields for testing
121
+ */
122
+ testValidateFields() {
123
+ this.validateFields(this._amount);
124
+ }
125
+ }
126
+ exports.BatchUnstakingBuilder = BatchUnstakingBuilder;
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hVbnN0YWtpbmdCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9iYXRjaFVuc3Rha2luZ0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esc0VBQXdEO0FBRXhELG1EQUFnRjtBQUNoRixnRUFBcUM7QUFFckMsK0NBQWlEO0FBRWpELDJDQUE4RDtBQUM5RCxvREFBNEI7QUFFNUIsTUFBYSxxQkFBc0IsU0FBUSw4QkFBZ0I7SUFHekQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFM0MsTUFBTSxTQUFTLEdBQUcsNEJBQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2RixNQUFNLFVBQVUsR0FBRyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3ZDO1lBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3BCLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztRQUVGLGtEQUFrRDtRQUNsRCxPQUFPLDRCQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDN0I7WUFDRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUM7U0FDN0MsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0s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QUFrQjtRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUF0SkQsc0RBc0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IFVuc2lnbmVkVHJhbnNhY3Rpb24sIERlY29kZWRTaWduaW5nUGF5bG9hZCwgRGVjb2RlZFNpZ25lZFR4IH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFBvbHl4QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2Jhc2VCdWlsZGVyJztcbmltcG9ydCB7IEJhdGNoQXJncyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQmF0Y2hVbnN0YWtpbmdUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEJhdGNoVW5zdGFraW5nQnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2Ftb3VudDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmJvbmQgdG9rZW5zIGFuZCBjaGlsbCAoc3RvcCBub21pbmF0aW5nIHZhbGlkYXRvcnMpXG4gICAqXG4gICAqIEByZXR1cm5zIHtVbnNpZ25lZFRyYW5zYWN0aW9ufSBhbiB1bnNpZ25lZCBQb2x5eCB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuXG4gICAgY29uc3QgY2hpbGxDYWxsID0gbWV0aG9kcy5zdGFraW5nLmNoaWxsKHt9LCBiYXNlVHhJbmZvLmJhc2VUeEluZm8sIGJhc2VUeEluZm8ub3B0aW9ucyk7XG5cbiAgICBjb25zdCB1bmJvbmRDYWxsID0gbWV0aG9kcy5zdGFraW5nLnVuYm9uZChcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHRoaXMuX2Ftb3VudCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIGJhdGNoIGFsbCB0cmFuc2FjdGlvbiAoYXRvbWljIGV4ZWN1dGlvbilcbiAgICByZXR1cm4gbWV0aG9kcy51dGlsaXR5LmJhdGNoQWxsKFxuICAgICAge1xuICAgICAgICBjYWxsczogW2NoaWxsQ2FsbC5tZXRob2QsIHVuYm9uZENhbGwubWV0aG9kXSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkJhdGNoO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgdG8gdW5zdGFrZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7QmF0Y2hVbnN0YWtpbmdCdWlsZGVyfSBUaGlzIHVuc3Rha2UgYnVpbGRlci5cbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGFtb3VudCkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGFtb3VudCB0byB1bnN0YWtlXG4gICAqL1xuICBnZXRBbW91bnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYW1vdW50O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCk6IHZvaWQge1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSBhcyBzdHJpbmc7XG5cbiAgICBpZiAobWV0aG9kTmFtZSA9PT0gJ2JhdGNoQWxsJykge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgQmF0Y2hBcmdzO1xuICAgICAgY29uc3QgY2FsbHMgPSB0eE1ldGhvZC5jYWxscztcblxuICAgICAgaWYgKGNhbGxzLmxlbmd0aCAhPT0gMikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgICAgYEludmFsaWQgYmF0Y2ggdW5zdGFraW5nIHRyYW5zYWN0aW9uOiBleHBlY3RlZCAyIGNhbGxzIGJ1dCBnb3QgJHtjYWxscy5sZW5ndGh9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayB0aGF0IGZpcnN0IGNhbGwgaXMgY2hpbGxcbiAgICAgIGNvbnN0IGZpcnN0Q2FsbE1ldGhvZCA9IHV0aWxzLmRlY29kZU1ldGhvZE5hbWUoY2FsbHNbMF0sIHRoaXMuX3JlZ2lzdHJ5KTtcbiAgICAgIGlmIChmaXJzdENhbGxNZXRob2QgIT09ICdjaGlsbCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIGJhdGNoIHVuc3Rha2luZyB0cmFuc2FjdGlvbjogZmlyc3QgY2FsbCBzaG91bGQgYmUgY2hpbGwgYnV0IGdvdCAke2ZpcnN0Q2FsbE1ldGhvZH1gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIHRoYXQgc2Vjb25kIGNhbGwgaXMgdW5ib25kXG4gICAgICBjb25zdCBzZWNvbmRDYWxsTWV0aG9kID0gdXRpbHMuZGVjb2RlTWV0aG9kTmFtZShjYWxsc1sxXSwgdGhpcy5fcmVnaXN0cnkpO1xuICAgICAgaWYgKHNlY29uZENhbGxNZXRob2QgIT09ICd1bmJvbmQnKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgICBgSW52YWxpZCBiYXRjaCB1bnN0YWtpbmcgdHJhbnNhY3Rpb246IHNlY29uZCBjYWxsIHNob3VsZCBiZSB1bmJvbmQgYnV0IGdvdCAke3NlY29uZENhbGxNZXRob2R9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSB1bmJvbmQgYW1vdW50IC0gaGFuZGxlIGJvdGggc3RyaW5nIGFuZCBudW1iZXIgZm9ybWF0c1xuICAgICAgY29uc3QgdW5ib25kQXJncyA9IGNhbGxzWzFdLmFyZ3MgYXMgeyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIH07XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHR5cGVvZiB1bmJvbmRBcmdzLnZhbHVlID09PSAnc3RyaW5nJyA/IHVuYm9uZEFyZ3MudmFsdWUgOiB1bmJvbmRBcmdzLnZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gQmF0Y2hVbnN0YWtpbmdUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICAgIHZhbHVlOiB2YWx1ZVN0cmluZyxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgYmF0Y2ggdW5zdGFraW5nIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uIHR5cGU6ICR7bWV0aG9kTmFtZX0uIEV4cGVjdGVkIGJhdGNoQWxsYCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG5cbiAgICBpZiAodGhpcy5fbWV0aG9kICYmICh0aGlzLl9tZXRob2QubmFtZSBhcyBzdHJpbmcpID09PSAnYmF0Y2hBbGwnKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgQmF0Y2hBcmdzO1xuICAgICAgY29uc3QgY2FsbHMgPSB0eE1ldGhvZC5jYWxscztcblxuICAgICAgaWYgKGNhbGxzICYmIGNhbGxzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBjb25zdCBzZWNvbmRDYWxsTWV0aG9kID0gdXRpbHMuZGVjb2RlTWV0aG9kTmFtZShjYWxsc1sxXSwgdGhpcy5fcmVnaXN0cnkpO1xuICAgICAgICBpZiAoc2Vjb25kQ2FsbE1ldGhvZCA9PT0gJ3VuYm9uZCcpIHtcbiAgICAgICAgICBjb25zdCB1bmJvbmRBcmdzID0gY2FsbHNbMV0uYXJncyBhcyB7IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfTtcbiAgICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHR5cGVvZiB1bmJvbmRBcmdzLnZhbHVlID09PSAnc3RyaW5nJyA/IHVuYm9uZEFyZ3MudmFsdWUgOiB1bmJvbmRBcmdzLnZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgICAgdGhpcy5hbW91bnQodmFsdWVTdHJpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIGJhdGNoQWxsYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oXzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKF8pO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHModGhpcy5fYW1vdW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHModmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBCYXRjaFVuc3Rha2luZ1RyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIHZhbHVlLFxuICAgIH0pO1xuXG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEJhdGNoIFVuc3Rha2luZyBCdWlsZGVyIFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgZmllbGRzIGZvciB0ZXN0aW5nXG4gICAqL1xuICB0ZXN0VmFsaWRhdGVGaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZUZpZWxkcyh0aGlzLl9hbW91bnQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Transaction } from './transaction';
2
+ import { PolyxBaseBuilder } from './baseBuilder';
3
+ import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
4
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
5
+ import { TransactionType } from '@bitgo-beta/sdk-core';
6
+ export declare class BondExtraBuilder extends PolyxBaseBuilder {
7
+ protected _amount: string;
8
+ constructor(_coinConfig: Readonly<CoinConfig>);
9
+ protected get transactionType(): TransactionType;
10
+ /**
11
+ * Build the bondExtra transaction
12
+ */
13
+ protected buildTransaction(): UnsignedTransaction;
14
+ /**
15
+ * Set additional amount to stake
16
+ */
17
+ amount(amount: string): this;
18
+ /**
19
+ * Get the amount to stake
20
+ */
21
+ getAmount(): string;
22
+ /** @inheritdoc */
23
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx): void;
24
+ /** @inheritdoc */
25
+ protected fromImplementation(rawTransaction: string): Transaction;
26
+ /** @inheritdoc */
27
+ validateTransaction(tx: Transaction): void;
28
+ /**
29
+ * Validate the bondExtra fields
30
+ */
31
+ private validateFields;
32
+ /**
33
+ * Validate amount
34
+ */
35
+ validateAmount(amount: string): void;
36
+ }
37
+ //# sourceMappingURL=bondExtraBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bondExtraBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/bondExtraBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAExG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMhF,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAYjD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAmBrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAcjE,kBAAkB;IAClB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAK1C;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAMrC"}
@@ -0,0 +1,101 @@
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.BondExtraBuilder = void 0;
7
+ const baseBuilder_1 = require("./baseBuilder");
8
+ const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
10
+ const txnSchema_1 = require("./txnSchema");
11
+ const utils_1 = __importDefault(require("./utils"));
12
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
13
+ class BondExtraBuilder extends baseBuilder_1.PolyxBaseBuilder {
14
+ constructor(_coinConfig) {
15
+ super(_coinConfig);
16
+ this.material(utils_1.default.getMaterial(_coinConfig.network.type));
17
+ }
18
+ get transactionType() {
19
+ return sdk_core_1.TransactionType.StakingActivate;
20
+ }
21
+ /**
22
+ * Build the bondExtra transaction
23
+ */
24
+ buildTransaction() {
25
+ const baseTxInfo = this.createBaseTxInfo();
26
+ return txwrapper_polkadot_1.methods.staking.bondExtra({
27
+ maxAdditional: this._amount,
28
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
29
+ }
30
+ /**
31
+ * Set additional amount to stake
32
+ */
33
+ amount(amount) {
34
+ this.validateValue(new bignumber_js_1.default(amount));
35
+ this._amount = amount;
36
+ return this;
37
+ }
38
+ /**
39
+ * Get the amount to stake
40
+ */
41
+ getAmount() {
42
+ return this._amount;
43
+ }
44
+ /** @inheritdoc */
45
+ validateDecodedTransaction(decodedTxn) {
46
+ const methodName = decodedTxn.method?.name;
47
+ if (methodName === 'bondExtra') {
48
+ const txMethod = decodedTxn.method.args;
49
+ const value = txMethod.maxAdditional;
50
+ const validationResult = txnSchema_1.BondExtraTransactionSchema.validate({
51
+ value,
52
+ });
53
+ if (validationResult.error) {
54
+ throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: ${validationResult.error.message}`);
55
+ }
56
+ }
57
+ else {
58
+ throw new sdk_core_1.InvalidTransactionError(`Invalid transaction type: ${methodName}`);
59
+ }
60
+ }
61
+ /** @inheritdoc */
62
+ fromImplementation(rawTransaction) {
63
+ const tx = super.fromImplementation(rawTransaction);
64
+ const methodName = this._method?.name;
65
+ if (methodName === 'bondExtra' && this._method) {
66
+ const txMethod = this._method.args;
67
+ this.amount(txMethod.maxAdditional);
68
+ }
69
+ else {
70
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${methodName}. Expected bondExtra`);
71
+ }
72
+ return tx;
73
+ }
74
+ /** @inheritdoc */
75
+ validateTransaction(tx) {
76
+ super.validateTransaction(tx);
77
+ this.validateFields();
78
+ }
79
+ /**
80
+ * Validate the bondExtra fields
81
+ */
82
+ validateFields() {
83
+ const validationResult = txnSchema_1.BondExtraTransactionSchema.validate({
84
+ value: this._amount,
85
+ });
86
+ if (validationResult.error) {
87
+ throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: ${validationResult.error.message}`);
88
+ }
89
+ }
90
+ /**
91
+ * Validate amount
92
+ */
93
+ validateAmount(amount) {
94
+ const amountBN = new bignumber_js_1.default(amount);
95
+ if (amountBN.isNaN() || amountBN.isLessThanOrEqualTo(0)) {
96
+ throw new Error(`Bond amount ${amount} must be a positive number`);
97
+ }
98
+ }
99
+ }
100
+ exports.BondExtraBuilder = BondExtraBuilder;
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9uZEV4dHJhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYm9uZEV4dHJhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSwrQ0FBaUQ7QUFFakQsc0VBQXdEO0FBRXhELG1EQUFnRjtBQUNoRiwyQ0FBeUQ7QUFDekQsb0RBQTRCO0FBRTVCLGdFQUFxQztBQUVyQyxNQUFhLGdCQUFpQixTQUFRLDhCQUFnQjtJQUdwRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFM0MsT0FBTyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQzlCO1lBQ0UsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQzVCLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMEJBQTBCLENBQUMsVUFBbUQ7UUFDNUUsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFjLENBQUM7UUFFckQsSUFBSSxVQUFVLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDL0IsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFnQyxDQUFDO1lBQ3BFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxzQ0FBMEIsQ0FBQyxRQUFRLENBQUM7Z0JBQzNELEtBQUs7YUFDTixDQUFDLENBQUM7WUFFSCxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixNQUFNLElBQUksa0NBQXVCLENBQUMsd0JBQXdCLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzlGLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMvRSxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQWMsQ0FBQztRQUVoRCxJQUFJLFVBQVUsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBZ0MsQ0FBQztZQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsVUFBVSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25HLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsRUFBZTtRQUNqQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDcEIsTUFBTSxnQkFBZ0IsR0FBRyxzQ0FBMEIsQ0FBQyxRQUFRLENBQUM7WUFDM0QsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdCQUF3QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5RixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLE1BQWM7UUFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxNQUFNLDRCQUE0QixDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFHRCw0Q0EwR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgUG9seXhCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZUJ1aWxkZXInO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IG1ldGhvZHMgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQm9uZEV4dHJhVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCb25kRXh0cmFBcmdzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBCb25kRXh0cmFCdWlsZGVyIGV4dGVuZHMgUG9seXhCYXNlQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfYW1vdW50OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMubWF0ZXJpYWwodXRpbHMuZ2V0TWF0ZXJpYWwoX2NvaW5Db25maWcubmV0d29yay50eXBlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSBib25kRXh0cmEgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByb3RlY3RlZCBidWlsZFRyYW5zYWN0aW9uKCk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGJhc2VUeEluZm8gPSB0aGlzLmNyZWF0ZUJhc2VUeEluZm8oKTtcblxuICAgIHJldHVybiBtZXRob2RzLnN0YWtpbmcuYm9uZEV4dHJhKFxuICAgICAge1xuICAgICAgICBtYXhBZGRpdGlvbmFsOiB0aGlzLl9hbW91bnQsXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYWRkaXRpb25hbCBhbW91bnQgdG8gc3Rha2VcbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGFtb3VudCkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGFtb3VudCB0byBzdGFrZVxuICAgKi9cbiAgZ2V0QW1vdW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgpOiB2b2lkIHtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgYXMgc3RyaW5nO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgPT09ICdib25kRXh0cmEnKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgdW5rbm93biBhcyBCb25kRXh0cmFBcmdzO1xuICAgICAgY29uc3QgdmFsdWUgPSB0eE1ldGhvZC5tYXhBZGRpdGlvbmFsO1xuXG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gQm9uZEV4dHJhVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgICB2YWx1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb24gdHlwZTogJHttZXRob2ROYW1lfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSB0aGlzLl9tZXRob2Q/Lm5hbWUgYXMgc3RyaW5nO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgPT09ICdib25kRXh0cmEnICYmIHRoaXMuX21ldGhvZCkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIEJvbmRFeHRyYUFyZ3M7XG4gICAgICB0aGlzLmFtb3VudCh0eE1ldGhvZC5tYXhBZGRpdGlvbmFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7bWV0aG9kTmFtZX0uIEV4cGVjdGVkIGJvbmRFeHRyYWApO1xuICAgIH1cblxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHgpO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGUgYm9uZEV4dHJhIGZpZWxkc1xuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpZWxkcygpOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gQm9uZEV4dHJhVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgdmFsdWU6IHRoaXMuX2Ftb3VudCxcbiAgICB9KTtcblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBhbW91bnRcbiAgICovXG4gIHZhbGlkYXRlQW1vdW50KGFtb3VudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYW1vdW50Qk4gPSBuZXcgQmlnTnVtYmVyKGFtb3VudCk7XG4gICAgaWYgKGFtb3VudEJOLmlzTmFOKCkgfHwgYW1vdW50Qk4uaXNMZXNzVGhhbk9yRXF1YWxUbygwKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBCb25kIGFtb3VudCAke2Ftb3VudH0gbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcmApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Address format constants for Polyx networks
3
+ */
4
+ /**
5
+ * Polyx mainnet address format
6
+ */
7
+ export declare const POLYX_ADDRESS_FORMAT = 12;
8
+ /**
9
+ * Tpolyx testnet address format
10
+ */
11
+ export declare const TPOLYX_ADDRESS_FORMAT = 42;
12
+ /**
13
+ * Regex pattern for validating Polymesh DID (Decentralized Identifier)
14
+ * DIDs are 32-byte hex strings (0x prefix + 64 hex characters)
15
+ */
16
+ export declare const POLYX_DID_REGEX: RegExp;
17
+ /** 32-byte memo as 0x-prefixed hex (same shape as POLYX_DID_REGEX). */
18
+ export declare const MEMO_HEX_REGEX: RegExp;
19
+ /** Maximum UTF-8 byte length for an on-chain Polymesh memo. */
20
+ export declare const MEMO_MAX_BYTES = 32;
21
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAwB,CAAC;AAErD,uEAAuE;AACvE,eAAO,MAAM,cAAc,QAAkB,CAAC;AAE9C,+DAA+D;AAC/D,eAAO,MAAM,cAAc,KAAK,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * Address format constants for Polyx networks
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MEMO_MAX_BYTES = exports.MEMO_HEX_REGEX = exports.POLYX_DID_REGEX = exports.TPOLYX_ADDRESS_FORMAT = exports.POLYX_ADDRESS_FORMAT = void 0;
7
+ /**
8
+ * Polyx mainnet address format
9
+ */
10
+ exports.POLYX_ADDRESS_FORMAT = 12;
11
+ /**
12
+ * Tpolyx testnet address format
13
+ */
14
+ exports.TPOLYX_ADDRESS_FORMAT = 42;
15
+ /**
16
+ * Regex pattern for validating Polymesh DID (Decentralized Identifier)
17
+ * DIDs are 32-byte hex strings (0x prefix + 64 hex characters)
18
+ */
19
+ exports.POLYX_DID_REGEX = /^0x[a-fA-F0-9]{64}$/;
20
+ /** 32-byte memo as 0x-prefixed hex (same shape as POLYX_DID_REGEX). */
21
+ exports.MEMO_HEX_REGEX = exports.POLYX_DID_REGEX;
22
+ /** Maximum UTF-8 byte length for an on-chain Polymesh memo. */
23
+ exports.MEMO_MAX_BYTES = 32;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSDs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDOztHQUVHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7QUFFeEM7OztHQUdHO0FBQ1UsUUFBQSxlQUFlLEdBQUcscUJBQXFCLENBQUM7QUFFckQsdUVBQXVFO0FBQzFELFFBQUEsY0FBYyxHQUFHLHVCQUFlLENBQUM7QUFFOUMsK0RBQStEO0FBQ2xELFFBQUEsY0FBYyxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWRkcmVzcyBmb3JtYXQgY29uc3RhbnRzIGZvciBQb2x5eCBuZXR3b3Jrc1xuICovXG5cbi8qKlxuICogUG9seXggbWFpbm5ldCBhZGRyZXNzIGZvcm1hdFxuICovXG5leHBvcnQgY29uc3QgUE9MWVhfQUREUkVTU19GT1JNQVQgPSAxMjtcblxuLyoqXG4gKiBUcG9seXggdGVzdG5ldCBhZGRyZXNzIGZvcm1hdFxuICovXG5leHBvcnQgY29uc3QgVFBPTFlYX0FERFJFU1NfRk9STUFUID0gNDI7XG5cbi8qKlxuICogUmVnZXggcGF0dGVybiBmb3IgdmFsaWRhdGluZyBQb2x5bWVzaCBESUQgKERlY2VudHJhbGl6ZWQgSWRlbnRpZmllcilcbiAqIERJRHMgYXJlIDMyLWJ5dGUgaGV4IHN0cmluZ3MgKDB4IHByZWZpeCArIDY0IGhleCBjaGFyYWN0ZXJzKVxuICovXG5leHBvcnQgY29uc3QgUE9MWVhfRElEX1JFR0VYID0gL14weFthLWZBLUYwLTldezY0fSQvO1xuXG4vKiogMzItYnl0ZSBtZW1vIGFzIDB4LXByZWZpeGVkIGhleCAoc2FtZSBzaGFwZSBhcyBQT0xZWF9ESURfUkVHRVgpLiAqL1xuZXhwb3J0IGNvbnN0IE1FTU9fSEVYX1JFR0VYID0gUE9MWVhfRElEX1JFR0VYO1xuXG4vKiogTWF4aW11bSBVVEYtOCBieXRlIGxlbmd0aCBmb3IgYW4gb24tY2hhaW4gUG9seW1lc2ggbWVtby4gKi9cbmV4cG9ydCBjb25zdCBNRU1PX01BWF9CWVRFUyA9IDMyO1xuIl19
@@ -0,0 +1,26 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { TransferBuilder } from './transferBuilder';
3
+ /**
4
+ * Builds a POLYX transferWithMemo transaction using the NEW Polymesh memo encoding:
5
+ * UTF-8 bytes right-padded with 0x00 to 32 bytes, passed as a 0x-prefixed hex string.
6
+ *
7
+ * OLD encoding (TransferBuilder): plain string, left-padded with ASCII '0' to 32 chars.
8
+ * NEW encoding (this class): 0x-prefixed hex, right-padded with 0x00 to 32 bytes.
9
+ *
10
+ * Same intended memo produces different on-chain bytes depending on which builder is used.
11
+ * Use this builder when the recipient or downstream tooling expects Polymesh-native encoding.
12
+ */
13
+ export declare class HexTransferBuilder extends TransferBuilder {
14
+ constructor(_coinConfig: Readonly<CoinConfig>);
15
+ /**
16
+ * Encode memo using the NEW Polymesh format.
17
+ *
18
+ * If the value is already a 0x-prefixed 32-byte hex string (e.g. when decoding an
19
+ * existing NEW-encoded transaction via fromImplementation), it is stored as-is.
20
+ * Otherwise the text is converted to UTF-8 hex and right-padded with 0x00 to 32 bytes.
21
+ *
22
+ * @param memo The intended memo string (e.g. "56594", "testmemo")
23
+ */
24
+ memo(memo: string): this;
25
+ }
26
+ //# sourceMappingURL=hexTransferBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/hexTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;;;OAQG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAYzB"}
@@ -0,0 +1,49 @@
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.HexTransferBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const transferBuilder_1 = require("./transferBuilder");
9
+ const constants_1 = require("./constants");
10
+ const utils_1 = __importDefault(require("./utils"));
11
+ /**
12
+ * Builds a POLYX transferWithMemo transaction using the NEW Polymesh memo encoding:
13
+ * UTF-8 bytes right-padded with 0x00 to 32 bytes, passed as a 0x-prefixed hex string.
14
+ *
15
+ * OLD encoding (TransferBuilder): plain string, left-padded with ASCII '0' to 32 chars.
16
+ * NEW encoding (this class): 0x-prefixed hex, right-padded with 0x00 to 32 bytes.
17
+ *
18
+ * Same intended memo produces different on-chain bytes depending on which builder is used.
19
+ * Use this builder when the recipient or downstream tooling expects Polymesh-native encoding.
20
+ */
21
+ class HexTransferBuilder extends transferBuilder_1.TransferBuilder {
22
+ constructor(_coinConfig) {
23
+ super(_coinConfig);
24
+ }
25
+ /**
26
+ * Encode memo using the NEW Polymesh format.
27
+ *
28
+ * If the value is already a 0x-prefixed 32-byte hex string (e.g. when decoding an
29
+ * existing NEW-encoded transaction via fromImplementation), it is stored as-is.
30
+ * Otherwise the text is converted to UTF-8 hex and right-padded with 0x00 to 32 bytes.
31
+ *
32
+ * @param memo The intended memo string (e.g. "56594", "testmemo")
33
+ */
34
+ memo(memo) {
35
+ if (memo.startsWith('0x') && memo.length === 66) {
36
+ if (!constants_1.MEMO_HEX_REGEX.test(memo)) {
37
+ throw new sdk_core_1.InvalidTransactionError(`Invalid memo hex encoding: ${memo}`);
38
+ }
39
+ // already a fully-encoded 32-byte hex memo — store as-is (round-trip from fromImplementation)
40
+ this._memo = memo;
41
+ }
42
+ else {
43
+ this._memo = utils_1.default.encodeMemoNew(memo);
44
+ }
45
+ return this;
46
+ }
47
+ }
48
+ exports.HexTransferBuilder = HexTransferBuilder;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4VHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9oZXhUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsbURBQStEO0FBQy9ELHVEQUFvRDtBQUNwRCwyQ0FBNkM7QUFDN0Msb0RBQTRCO0FBRTVCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsaUNBQWU7SUFDckQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBSSxDQUFDLElBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsMEJBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLENBQUM7WUFDRCw4RkFBOEY7WUFDOUYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLGVBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBMUJELGdEQTBCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgTUVNT19IRVhfUkVHRVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQnVpbGRzIGEgUE9MWVggdHJhbnNmZXJXaXRoTWVtbyB0cmFuc2FjdGlvbiB1c2luZyB0aGUgTkVXIFBvbHltZXNoIG1lbW8gZW5jb2Rpbmc6XG4gKiBVVEYtOCBieXRlcyByaWdodC1wYWRkZWQgd2l0aCAweDAwIHRvIDMyIGJ5dGVzLCBwYXNzZWQgYXMgYSAweC1wcmVmaXhlZCBoZXggc3RyaW5nLlxuICpcbiAqIE9MRCBlbmNvZGluZyAoVHJhbnNmZXJCdWlsZGVyKTogcGxhaW4gc3RyaW5nLCBsZWZ0LXBhZGRlZCB3aXRoIEFTQ0lJICcwJyB0byAzMiBjaGFycy5cbiAqIE5FVyBlbmNvZGluZyAodGhpcyBjbGFzcyk6ICAgICAgMHgtcHJlZml4ZWQgaGV4LCByaWdodC1wYWRkZWQgd2l0aCAweDAwIHRvIDMyIGJ5dGVzLlxuICpcbiAqIFNhbWUgaW50ZW5kZWQgbWVtbyBwcm9kdWNlcyBkaWZmZXJlbnQgb24tY2hhaW4gYnl0ZXMgZGVwZW5kaW5nIG9uIHdoaWNoIGJ1aWxkZXIgaXMgdXNlZC5cbiAqIFVzZSB0aGlzIGJ1aWxkZXIgd2hlbiB0aGUgcmVjaXBpZW50IG9yIGRvd25zdHJlYW0gdG9vbGluZyBleHBlY3RzIFBvbHltZXNoLW5hdGl2ZSBlbmNvZGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEhleFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zZmVyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGUgbWVtbyB1c2luZyB0aGUgTkVXIFBvbHltZXNoIGZvcm1hdC5cbiAgICpcbiAgICogSWYgdGhlIHZhbHVlIGlzIGFscmVhZHkgYSAweC1wcmVmaXhlZCAzMi1ieXRlIGhleCBzdHJpbmcgKGUuZy4gd2hlbiBkZWNvZGluZyBhblxuICAgKiBleGlzdGluZyBORVctZW5jb2RlZCB0cmFuc2FjdGlvbiB2aWEgZnJvbUltcGxlbWVudGF0aW9uKSwgaXQgaXMgc3RvcmVkIGFzLWlzLlxuICAgKiBPdGhlcndpc2UgdGhlIHRleHQgaXMgY29udmVydGVkIHRvIFVURi04IGhleCBhbmQgcmlnaHQtcGFkZGVkIHdpdGggMHgwMCB0byAzMiBieXRlcy5cbiAgICpcbiAgICogQHBhcmFtIG1lbW8gVGhlIGludGVuZGVkIG1lbW8gc3RyaW5nIChlLmcuIFwiNTY1OTRcIiwgXCJ0ZXN0bWVtb1wiKVxuICAgKi9cbiAgbWVtbyhtZW1vOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAobWVtby5zdGFydHNXaXRoKCcweCcpICYmIG1lbW8ubGVuZ3RoID09PSA2Nikge1xuICAgICAgaWYgKCFNRU1PX0hFWF9SRUdFWC50ZXN0KG1lbW8pKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBtZW1vIGhleCBlbmNvZGluZzogJHttZW1vfWApO1xuICAgICAgfVxuICAgICAgLy8gYWxyZWFkeSBhIGZ1bGx5LWVuY29kZWQgMzItYnl0ZSBoZXggbWVtbyDigJQgc3RvcmUgYXMtaXMgKHJvdW5kLXRyaXAgZnJvbSBmcm9tSW1wbGVtZW50YXRpb24pXG4gICAgICB0aGlzLl9tZW1vID0gbWVtbztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbWVtbyA9IHV0aWxzLmVuY29kZU1lbW9OZXcobWVtbyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
@@ -1,15 +1,145 @@
1
1
  import { Args } from '@substrate/txwrapper-core';
2
2
  import { Interface } from '@bitgo-beta/abstract-substrate';
3
3
  import { DecodedUnsignedTx } from '@substrate/txwrapper-core/lib/types';
4
+ export type AnyJson = string | number | boolean | null | {
5
+ [key: string]: AnyJson;
6
+ } | Array<AnyJson>;
7
+ /**
8
+ * Extended TxData interface for Polyx transactions
9
+ * Adds assetId field to the base TxData interface from abstract-substrate
10
+ */
11
+ export interface TxData extends Interface.TxData {
12
+ assetId?: string;
13
+ fromDID?: string;
14
+ toDID?: string;
15
+ instructionId?: string;
16
+ portfolioDID?: string;
17
+ }
18
+ /**
19
+ * Settlement type for Polyx transactions
20
+ */
21
+ export declare enum SettlementType {
22
+ SettleOnAffirmation = "SettleOnAffirmation"
23
+ }
24
+ /**
25
+ * Portfolio kind for Polyx transactions
26
+ */
27
+ export declare enum PortfolioKind {
28
+ Default = "Default"
29
+ }
30
+ /**
31
+ * Method names for Polyx transactions.
32
+ * Extends the base MethodNames from Interface with additional Polyx-specific methods.
33
+ */
34
+ export declare const MethodNames: {
35
+ /**
36
+ * Registers a Decentralized Identifier (DID) along with Customer Due Diligence (CDD) information.
37
+ *
38
+ * @see https://developers.polymesh.network/sdk-docs/enums/Generated/Types/IdentityTx/#cddregisterdidwithcdd
39
+ */
40
+ readonly RegisterDidWithCDD: "cddRegisterDidWithCdd";
41
+ /**
42
+ * Pre-approves an asset.
43
+ */
44
+ readonly PreApproveAsset: "preApproveAsset";
45
+ readonly AddAndAffirmWithMediators: "addAndAffirmWithMediators";
46
+ readonly RejectInstruction: "rejectInstruction";
47
+ readonly TransferAll: "transferAll";
48
+ readonly TransferKeepAlive: "transferKeepAlive";
49
+ readonly TransferWithMemo: "transferWithMemo";
50
+ readonly AddStake: "addStake";
51
+ readonly RemoveStake: "removeStake";
52
+ readonly Bond: "bond";
53
+ readonly BondExtra: "bondExtra";
54
+ readonly Nominate: "nominate";
55
+ readonly Chill: "chill";
56
+ readonly Unbond: "unbond";
57
+ readonly WithdrawUnbonded: "withdrawUnbonded";
58
+ readonly Batch: "batch";
59
+ readonly BatchAll: "batchAll";
60
+ readonly TransferStake: "transferStake";
61
+ readonly MoveStake: "moveStake";
62
+ };
63
+ export type MethodNamesType = keyof typeof MethodNames;
64
+ export type MethodNamesValues = (typeof MethodNames)[MethodNamesType];
4
65
  export interface RegisterDidWithCDDArgs extends Args {
5
66
  targetAccount: string;
6
67
  secondaryKeys: [];
7
68
  expiry: null;
8
69
  }
9
- export interface TxMethod extends Omit<Interface.TxMethod, 'args'> {
10
- args: Interface.TransferArgs | Interface.TransferAllArgs | Interface.AddStakeArgs | Interface.RemoveStakeArgs | RegisterDidWithCDDArgs;
70
+ export interface PreApproveAssetArgs extends Args {
71
+ assetId: string;
72
+ }
73
+ export interface AddAndAffirmWithMediatorsArgs extends Args {
74
+ venueId: null;
75
+ settlementType: SettlementType.SettleOnAffirmation;
76
+ tradeDate: null;
77
+ valueDate: null;
78
+ legs: Array<{
79
+ fungible: {
80
+ sender: {
81
+ did: string;
82
+ kind: PortfolioKind.Default;
83
+ };
84
+ receiver: {
85
+ did: string;
86
+ kind: PortfolioKind.Default;
87
+ };
88
+ assetId: string;
89
+ amount: string;
90
+ };
91
+ }>;
92
+ portfolios: Array<{
93
+ did: string;
94
+ kind: PortfolioKind.Default;
95
+ }>;
96
+ instructionMemo: string;
97
+ mediators: [];
98
+ }
99
+ export interface RejectInstructionBuilderArgs extends Args {
100
+ id: string;
101
+ portfolio: {
102
+ did: string;
103
+ kind: PortfolioKind.Default;
104
+ };
105
+ numberOfAssets: {
106
+ fungible: number;
107
+ nonFungible: number;
108
+ offChain: number;
109
+ };
110
+ }
111
+ export interface TxMethod extends Omit<Interface.TxMethod, 'args' | 'name'> {
112
+ args: Interface.TransferArgs | Interface.TransferAllArgs | Interface.AddStakeArgs | Interface.RemoveStakeArgs | Interface.BondArgs | Interface.BondExtraArgs | Interface.NominateArgs | Interface.ChillArgs | Interface.UnbondArgs | Interface.WithdrawUnbondedArgs | Interface.BatchArgs | RegisterDidWithCDDArgs | PreApproveAssetArgs | AddAndAffirmWithMediatorsArgs | RejectInstructionBuilderArgs;
113
+ name: MethodNamesValues;
11
114
  }
12
115
  export interface DecodedTx extends Omit<DecodedUnsignedTx, 'method'> {
13
116
  method: TxMethod;
14
117
  }
118
+ export interface BondArgs extends Args {
119
+ value: string;
120
+ controller: string;
121
+ payee: string | {
122
+ Account: string;
123
+ };
124
+ }
125
+ export interface BondExtraArgs extends Args {
126
+ maxAdditional: string;
127
+ }
128
+ export interface NominateArgs extends Args {
129
+ targets: string[];
130
+ }
131
+ export interface BatchCallObject {
132
+ method?: string;
133
+ callIndex?: string;
134
+ args: Record<string, unknown>;
135
+ }
136
+ export interface BatchArgs {
137
+ calls: BatchCallObject[];
138
+ }
139
+ export interface UnbondArgs extends Args {
140
+ value: string;
141
+ }
142
+ export interface WithdrawUnbondedArgs extends Args {
143
+ numSlashingSpans: number;
144
+ }
15
145
  //# sourceMappingURL=iface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,WAAW,sBAAuB,SAAQ,IAAI;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,EAAE,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAChE,IAAI,EACA,SAAS,CAAC,YAAY,GACtB,SAAS,CAAC,eAAe,GACzB,SAAS,CAAC,YAAY,GACtB,SAAS,CAAC,eAAe,GACzB,sBAAsB,CAAC;CAC5B;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAClE,MAAM,EAAE,QAAQ,CAAC;CAClB"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}