xrpl 4.3.0-smartescrow.1 → 4.3.0-smartescrow.3

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 (102) hide show
  1. package/build/xrpl-latest.js +5269 -1599
  2. package/build/xrpl-latest.js.map +1 -1
  3. package/dist/npm/models/common/index.d.ts +4 -1
  4. package/dist/npm/models/common/index.d.ts.map +1 -1
  5. package/dist/npm/models/ledger/Delegate.d.ts +11 -0
  6. package/dist/npm/models/ledger/Delegate.d.ts.map +1 -0
  7. package/dist/npm/models/ledger/Delegate.js +3 -0
  8. package/dist/npm/models/ledger/Delegate.js.map +1 -0
  9. package/dist/npm/models/ledger/LedgerEntry.d.ts +3 -2
  10. package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
  11. package/dist/npm/models/ledger/index.d.ts +2 -1
  12. package/dist/npm/models/ledger/index.d.ts.map +1 -1
  13. package/dist/npm/models/ledger/index.js.map +1 -1
  14. package/dist/npm/models/methods/ledgerEntry.d.ts +4 -0
  15. package/dist/npm/models/methods/ledgerEntry.d.ts.map +1 -1
  16. package/dist/npm/models/methods/serverInfo.d.ts +6 -0
  17. package/dist/npm/models/methods/serverInfo.d.ts.map +1 -1
  18. package/dist/npm/models/methods/serverState.d.ts +6 -0
  19. package/dist/npm/models/methods/serverState.d.ts.map +1 -1
  20. package/dist/npm/models/transactions/NFTokenMint.d.ts +5 -0
  21. package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
  22. package/dist/npm/models/transactions/NFTokenMint.js +8 -0
  23. package/dist/npm/models/transactions/NFTokenMint.js.map +1 -1
  24. package/dist/npm/models/transactions/common.d.ts +1 -0
  25. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  26. package/dist/npm/models/transactions/common.js +5 -0
  27. package/dist/npm/models/transactions/common.js.map +1 -1
  28. package/dist/npm/models/transactions/delegateSet.d.ts +13 -0
  29. package/dist/npm/models/transactions/delegateSet.d.ts.map +1 -0
  30. package/dist/npm/models/transactions/delegateSet.js +53 -0
  31. package/dist/npm/models/transactions/delegateSet.js.map +1 -0
  32. package/dist/npm/models/transactions/escrowFinish.d.ts +1 -0
  33. package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
  34. package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
  35. package/dist/npm/models/transactions/index.d.ts +1 -0
  36. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  37. package/dist/npm/models/transactions/index.js.map +1 -1
  38. package/dist/npm/models/transactions/transaction.d.ts +2 -1
  39. package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
  40. package/dist/npm/models/transactions/transaction.js +4 -0
  41. package/dist/npm/models/transactions/transaction.js.map +1 -1
  42. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  43. package/dist/npm/src/models/common/index.d.ts +4 -1
  44. package/dist/npm/src/models/common/index.d.ts.map +1 -1
  45. package/dist/npm/src/models/ledger/Delegate.d.ts +11 -0
  46. package/dist/npm/src/models/ledger/Delegate.d.ts.map +1 -0
  47. package/dist/npm/src/models/ledger/Delegate.js +3 -0
  48. package/dist/npm/src/models/ledger/Delegate.js.map +1 -0
  49. package/dist/npm/src/models/ledger/LedgerEntry.d.ts +3 -2
  50. package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
  51. package/dist/npm/src/models/ledger/index.d.ts +2 -1
  52. package/dist/npm/src/models/ledger/index.d.ts.map +1 -1
  53. package/dist/npm/src/models/ledger/index.js.map +1 -1
  54. package/dist/npm/src/models/methods/ledgerEntry.d.ts +4 -0
  55. package/dist/npm/src/models/methods/ledgerEntry.d.ts.map +1 -1
  56. package/dist/npm/src/models/methods/serverInfo.d.ts +6 -0
  57. package/dist/npm/src/models/methods/serverInfo.d.ts.map +1 -1
  58. package/dist/npm/src/models/methods/serverState.d.ts +6 -0
  59. package/dist/npm/src/models/methods/serverState.d.ts.map +1 -1
  60. package/dist/npm/src/models/transactions/NFTokenMint.d.ts +5 -0
  61. package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
  62. package/dist/npm/src/models/transactions/NFTokenMint.js +8 -0
  63. package/dist/npm/src/models/transactions/NFTokenMint.js.map +1 -1
  64. package/dist/npm/src/models/transactions/common.d.ts +1 -0
  65. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  66. package/dist/npm/src/models/transactions/common.js +5 -0
  67. package/dist/npm/src/models/transactions/common.js.map +1 -1
  68. package/dist/npm/src/models/transactions/delegateSet.d.ts +13 -0
  69. package/dist/npm/src/models/transactions/delegateSet.d.ts.map +1 -0
  70. package/dist/npm/src/models/transactions/delegateSet.js +53 -0
  71. package/dist/npm/src/models/transactions/delegateSet.js.map +1 -0
  72. package/dist/npm/src/models/transactions/escrowFinish.d.ts +1 -0
  73. package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
  74. package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
  75. package/dist/npm/src/models/transactions/index.d.ts +1 -0
  76. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  77. package/dist/npm/src/models/transactions/index.js.map +1 -1
  78. package/dist/npm/src/models/transactions/transaction.d.ts +2 -1
  79. package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
  80. package/dist/npm/src/models/transactions/transaction.js +4 -0
  81. package/dist/npm/src/models/transactions/transaction.js.map +1 -1
  82. package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
  83. package/dist/npm/src/sugar/autofill.js +33 -16
  84. package/dist/npm/src/sugar/autofill.js.map +1 -1
  85. package/dist/npm/sugar/autofill.d.ts.map +1 -1
  86. package/dist/npm/sugar/autofill.js +33 -16
  87. package/dist/npm/sugar/autofill.js.map +1 -1
  88. package/package.json +3 -3
  89. package/src/models/common/index.ts +5 -1
  90. package/src/models/ledger/Delegate.ts +39 -0
  91. package/src/models/ledger/LedgerEntry.ts +3 -0
  92. package/src/models/ledger/index.ts +2 -0
  93. package/src/models/methods/ledgerEntry.ts +5 -0
  94. package/src/models/methods/serverInfo.ts +9 -0
  95. package/src/models/methods/serverState.ts +10 -0
  96. package/src/models/transactions/NFTokenMint.ts +37 -0
  97. package/src/models/transactions/common.ts +14 -0
  98. package/src/models/transactions/delegateSet.ts +111 -0
  99. package/src/models/transactions/escrowFinish.ts +2 -0
  100. package/src/models/transactions/index.ts +1 -0
  101. package/src/models/transactions/transaction.ts +6 -0
  102. package/src/sugar/autofill.ts +51 -41
@@ -21,6 +21,7 @@ const getFeeXrp_1 = __importDefault(require("./getFeeXrp"));
21
21
  const LEDGER_OFFSET = 20;
22
22
  const RESTRICTED_NETWORKS = 1024;
23
23
  const REQUIRED_NETWORKID_VERSION = '1.11.0';
24
+ const MICRO_DROPS_PER_DROP = 1000000;
24
25
  function isNotLaterRippledVersion(source, target) {
25
26
  if (source === target) {
26
27
  return true;
@@ -127,7 +128,7 @@ function setNextValidSequenceNumber(client, tx) {
127
128
  });
128
129
  }
129
130
  exports.setNextValidSequenceNumber = setNextValidSequenceNumber;
130
- function fetchAccountDeleteFee(client) {
131
+ function fetchOwnerReserveFee(client) {
131
132
  var _a;
132
133
  return __awaiter(this, void 0, void 0, function* () {
133
134
  const response = yield client.request({ command: 'server_state' });
@@ -138,37 +139,53 @@ function fetchAccountDeleteFee(client) {
138
139
  return new bignumber_js_1.default(fee);
139
140
  });
140
141
  }
142
+ function fetchGasPrice(client) {
143
+ var _a;
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ const response = yield client.request({ command: 'server_state' });
146
+ const gasPrice = (_a = response.result.state.validated_ledger) === null || _a === void 0 ? void 0 : _a.gas_price;
147
+ if (gasPrice == null) {
148
+ return Promise.reject(new Error('Could not fetch Owner Reserve.'));
149
+ }
150
+ return new bignumber_js_1.default(gasPrice);
151
+ });
152
+ }
141
153
  function calculateFeePerTransactionType(client, tx, signersCount = 0) {
142
154
  return __awaiter(this, void 0, void 0, function* () {
143
155
  const netFeeXRP = yield (0, getFeeXrp_1.default)(client);
144
- const netFeeDrops = (0, utils_1.xrpToDrops)(netFeeXRP);
145
- let baseFee = new bignumber_js_1.default(netFeeDrops);
146
- if (tx.TransactionType === 'EscrowFinish' && tx.Fulfillment != null) {
147
- const fulfillmentBytesSize = Math.ceil(tx.Fulfillment.length / 2);
148
- const product = new bignumber_js_1.default(scaleValue(netFeeDrops, 33 + fulfillmentBytesSize / 16));
149
- baseFee = product.dp(0, bignumber_js_1.default.ROUND_CEIL);
156
+ const netFeeDrops = new bignumber_js_1.default((0, utils_1.xrpToDrops)(netFeeXRP));
157
+ let baseFee = netFeeDrops;
158
+ if (tx.TransactionType === 'EscrowFinish') {
159
+ if (tx.Fulfillment != null) {
160
+ const fulfillmentBytesSize = Math.ceil(tx.Fulfillment.length / 2);
161
+ baseFee = netFeeDrops.multipliedBy(33 + fulfillmentBytesSize / 16);
162
+ }
163
+ if (tx.ComputationAllowance != null) {
164
+ const gasPrice = yield fetchGasPrice(client);
165
+ const extraFee = gasPrice
166
+ .multipliedBy(tx.ComputationAllowance)
167
+ .dividedBy(MICRO_DROPS_PER_DROP);
168
+ baseFee = baseFee.plus(extraFee);
169
+ }
150
170
  }
151
171
  if (tx.TransactionType === 'EscrowCreate' && tx.FinishFunction != null) {
152
- baseFee = bignumber_js_1.default.sum(baseFee, 1000);
172
+ baseFee = baseFee.plus(1000);
153
173
  }
154
- if (tx.TransactionType === 'AccountDelete' ||
155
- tx.TransactionType === 'AMMCreate') {
156
- baseFee = yield fetchAccountDeleteFee(client);
174
+ const isSpecialTxCost = ['AccountDelete', 'AMMCreate'].includes(tx.TransactionType);
175
+ if (isSpecialTxCost) {
176
+ baseFee = yield fetchOwnerReserveFee(client);
157
177
  }
158
178
  if (signersCount > 0) {
159
- baseFee = bignumber_js_1.default.sum(baseFee, scaleValue(netFeeDrops, 1 + signersCount));
179
+ baseFee = bignumber_js_1.default.sum(baseFee, netFeeDrops.multipliedBy(1 + signersCount));
160
180
  }
161
181
  const maxFeeDrops = (0, utils_1.xrpToDrops)(client.maxFeeXRP);
162
- const totalFee = tx.TransactionType === 'AccountDelete'
182
+ const totalFee = isSpecialTxCost
163
183
  ? baseFee
164
184
  : bignumber_js_1.default.min(baseFee, maxFeeDrops);
165
185
  tx.Fee = totalFee.dp(0, bignumber_js_1.default.ROUND_CEIL).toString(10);
166
186
  });
167
187
  }
168
188
  exports.calculateFeePerTransactionType = calculateFeePerTransactionType;
169
- function scaleValue(value, multiplier) {
170
- return new bignumber_js_1.default(value).times(multiplier).toString();
171
- }
172
189
  function setLatestValidatedLedgerSequence(client, tx) {
173
190
  return __awaiter(this, void 0, void 0, function* () {
174
191
  const ledgerSequence = yield client.getLedgerIndex();
@@ -1 +1 @@
1
- {"version":3,"file":"autofill.js","sourceRoot":"","sources":["../../../../src/sugar/autofill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autofill.js","sourceRoot":"","sources":["../../../../src/sugar/autofill.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAoC;AACpC,+DAAgF;AAGhF,sCAAsD;AAGtD,oCAAqC;AAErC,4DAAmC;AAGnC,MAAM,aAAa,GAAG,EAAE,CAAA;AAKxB,MAAM,mBAAmB,GAAG,IAAI,CAAA;AAChC,MAAM,0BAA0B,GAAG,QAAQ,CAAA;AAE3C,MAAM,oBAAoB,GAAG,OAAS,CAAA;AAYtC,SAAS,wBAAwB,CAAC,MAAc,EAAE,MAAc;IAC9D,IAAI,MAAM,KAAK,MAAM,EAAE;QACrB,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEjD,IAAI,WAAW,KAAK,WAAW,EAAE;QAC/B,OAAO,WAAW,GAAG,WAAW,CAAA;KACjC;IAED,IAAI,WAAW,KAAK,WAAW,EAAE;QAC/B,OAAO,WAAW,GAAG,WAAW,CAAA;KACjC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE9C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACvD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAGvD,IAAI,kBAAkB,KAAK,kBAAkB,EAAE;QAC7C,OAAO,kBAAkB,GAAG,kBAAkB,CAAA;KAC/C;IAGD,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;QAC7C,OAAO,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;KAC/C;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAE5B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACpD,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;SACvC;QAED,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAClC,OAAO,CACL,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACrC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtC,CAAA;SACF;QAED,OAAO,CACL,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACrC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtC,CAAA;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AASD,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,SAAS,GAAG,mBAAmB,EACtC;QACA,IACE,MAAM,CAAC,YAAY;YACnB,wBAAwB,CAAC,0BAA0B,EAAE,MAAM,CAAC,YAAY,CAAC,EACzE;YACA,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAbD,4CAaC;AAYD,SAAgB,iBAAiB,CAAC,EAAe;IAC/C,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IAElD,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE;QAC7B,sBAAsB,CAAC,EAAE,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAA;KAC5D;IAGD,uBAAuB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;IACxC,uBAAuB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;IAE1C,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAEpC,uBAAuB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;AAC3C,CAAC;AAdD,8CAcC;AAUD,SAAS,sBAAsB,CAC7B,EAAe,EACf,YAAoB,EACpB,QAAgB;IAGhB,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,uBAAuB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAEzE,EAAE,CAAC,YAAY,CAAC,GAAG,cAAc,CAAA;IAEjC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,KAAK,EAAE;QAChC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE;YACxC,MAAM,IAAI,wBAAe,CACvB,OAAO,QAAQ,2CAA2C,YAAY,YAAY,CACnF,CAAA;SACF;QAED,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAA;KACnB;AACH,CAAC;AAUD,SAAS,uBAAuB,CAC9B,OAAe,EACf,WAAoB;IAEpB,IAAI,IAAA,sCAAe,EAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAA,+CAAwB,EAAC,OAAO,CAAC,CAAA;QACjD,IAAI,WAAW,IAAI,IAAI,IAAI,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE;YACtD,MAAM,IAAI,wBAAe,CACvB,iFAAiF,CAClF,CAAA;SACF;QACD,OAAO;YACL,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAA;KACF;IACD,OAAO;QACL,cAAc,EAAE,OAAO;QACvB,GAAG,EAAE,WAAW;KACjB,CAAA;AACH,CAAC;AAQD,SAAS,uBAAuB,CAAC,EAAe,EAAE,SAAiB;IAEjE,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC7B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,EAAE,cAAc,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAE3D,EAAE,CAAC,SAAS,CAAC,GAAG,cAAc,CAAA;KAC/B;AACH,CAAC;AAUD,SAAsB,0BAA0B,CAC9C,MAAc,EACd,EAAe;;QAEf,MAAM,OAAO,GAAuB;YAClC,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,YAAY,EAAE,SAAS;SACxB,CAAA;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAE1C,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAA;IACjD,CAAC;CAAA;AAZD,gEAYC;AASD,SAAe,oBAAoB,CAAC,MAAc;;;QAChD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;QAClE,MAAM,GAAG,GAAG,MAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,0CAAE,WAAW,CAAA;QAE/D,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAA;SACnE;QAED,OAAO,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAA;;CAC1B;AAED,SAAe,aAAa,CAAC,MAAc;;;QACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;QAClE,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,0CAAE,SAAS,CAAA;QAElE,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAA;SACnE;QAED,OAAO,IAAI,sBAAS,CAAC,QAAQ,CAAC,CAAA;;CAC/B;AAWD,SAAsB,8BAA8B,CAClD,MAAc,EACd,EAAe,EACf,YAAY,GAAG,CAAC;;QAEhB,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAA;QACzC,MAAM,WAAW,GAAG,IAAI,sBAAS,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC,CAAA;QACxD,IAAI,OAAO,GAAG,WAAW,CAAA;QAGzB,IAAI,EAAE,CAAC,eAAe,KAAK,cAAc,EAAE;YACzC,IAAI,EAAE,CAAC,WAAW,IAAI,IAAI,EAAE;gBAC1B,MAAM,oBAAoB,GAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEzE,OAAO,GAAG,WAAW,CAAC,YAAY,CAEhC,EAAE,GAAG,oBAAoB,GAAG,EAAE,CAC/B,CAAA;aACF;YACD,IAAI,EAAE,CAAC,oBAAoB,IAAI,IAAI,EAAE;gBACnC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;gBAC5C,MAAM,QAAQ,GAAc,QAAQ;qBACjC,YAAY,CAAC,EAAE,CAAC,oBAAoB,CAAC;qBACrC,SAAS,CAAC,oBAAoB,CAAC,CAAA;gBAClC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACjC;SACF;QAED,IAAI,EAAE,CAAC,eAAe,KAAK,cAAc,IAAI,EAAE,CAAC,cAAc,IAAI,IAAI,EAAE;YACtE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC7B;QAED,MAAM,eAAe,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,QAAQ,CAC7D,EAAE,CAAC,eAAe,CACnB,CAAA;QAED,IAAI,eAAe,EAAE;YACnB,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;SAC7C;QAMD,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,OAAO,GAAG,sBAAS,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAA;SAC7E;QAED,MAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,QAAQ,GAAG,eAAe;YAC9B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,sBAAS,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QAIvC,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5D,CAAC;CAAA;AAxDD,wEAwDC;AASD,SAAsB,gCAAgC,CACpD,MAAc,EACd,EAAe;;QAEf,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAA;QAEpD,EAAE,CAAC,kBAAkB,GAAG,cAAc,GAAG,aAAa,CAAA;IACxD,CAAC;CAAA;AAPD,4EAOC;AASD,SAAsB,0BAA0B,CAC9C,MAAc,EACd,EAAe;;QAEf,MAAM,OAAO,GAA0B;YACrC,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,YAAY,EAAE,WAAW;YACzB,sBAAsB,EAAE,IAAI;SAC7B,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9C,MAAM,CACJ,IAAI,kBAAS,CACX,WAAW,EAAE,CAAC,OAAO,0GAA0G,EAC/H,QAAQ,CAAC,MAAM,CAAC,eAAe,CAChC,CACF,CAAA;aACF;YACD,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAtBD,gEAsBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"autofill.d.ts","sourceRoot":"","sources":["../../../src/sugar/autofill.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,IAAI,CAAA;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAuFpD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAaxD;AAYD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAcvD;AAqFD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,IAAI,CAAC,CASf;AA4BD,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,EACf,YAAY,SAAI,GACf,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAoBD,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,IAAI,CAAC,CAIf;AASD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,IAAI,CAAC,CAmBf"}
1
+ {"version":3,"file":"autofill.d.ts","sourceRoot":"","sources":["../../../src/sugar/autofill.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,IAAI,CAAA;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAyFpD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAaxD;AAYD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAcvD;AAqFD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,IAAI,CAAC,CASf;AAwCD,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,EACf,YAAY,SAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAoDf;AASD,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,IAAI,CAAC,CAIf;AASD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -21,6 +21,7 @@ const getFeeXrp_1 = __importDefault(require("./getFeeXrp"));
21
21
  const LEDGER_OFFSET = 20;
22
22
  const RESTRICTED_NETWORKS = 1024;
23
23
  const REQUIRED_NETWORKID_VERSION = '1.11.0';
24
+ const MICRO_DROPS_PER_DROP = 1000000;
24
25
  function isNotLaterRippledVersion(source, target) {
25
26
  if (source === target) {
26
27
  return true;
@@ -127,7 +128,7 @@ function setNextValidSequenceNumber(client, tx) {
127
128
  });
128
129
  }
129
130
  exports.setNextValidSequenceNumber = setNextValidSequenceNumber;
130
- function fetchAccountDeleteFee(client) {
131
+ function fetchOwnerReserveFee(client) {
131
132
  var _a;
132
133
  return __awaiter(this, void 0, void 0, function* () {
133
134
  const response = yield client.request({ command: 'server_state' });
@@ -138,37 +139,53 @@ function fetchAccountDeleteFee(client) {
138
139
  return new bignumber_js_1.default(fee);
139
140
  });
140
141
  }
142
+ function fetchGasPrice(client) {
143
+ var _a;
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ const response = yield client.request({ command: 'server_state' });
146
+ const gasPrice = (_a = response.result.state.validated_ledger) === null || _a === void 0 ? void 0 : _a.gas_price;
147
+ if (gasPrice == null) {
148
+ return Promise.reject(new Error('Could not fetch Owner Reserve.'));
149
+ }
150
+ return new bignumber_js_1.default(gasPrice);
151
+ });
152
+ }
141
153
  function calculateFeePerTransactionType(client, tx, signersCount = 0) {
142
154
  return __awaiter(this, void 0, void 0, function* () {
143
155
  const netFeeXRP = yield (0, getFeeXrp_1.default)(client);
144
- const netFeeDrops = (0, utils_1.xrpToDrops)(netFeeXRP);
145
- let baseFee = new bignumber_js_1.default(netFeeDrops);
146
- if (tx.TransactionType === 'EscrowFinish' && tx.Fulfillment != null) {
147
- const fulfillmentBytesSize = Math.ceil(tx.Fulfillment.length / 2);
148
- const product = new bignumber_js_1.default(scaleValue(netFeeDrops, 33 + fulfillmentBytesSize / 16));
149
- baseFee = product.dp(0, bignumber_js_1.default.ROUND_CEIL);
156
+ const netFeeDrops = new bignumber_js_1.default((0, utils_1.xrpToDrops)(netFeeXRP));
157
+ let baseFee = netFeeDrops;
158
+ if (tx.TransactionType === 'EscrowFinish') {
159
+ if (tx.Fulfillment != null) {
160
+ const fulfillmentBytesSize = Math.ceil(tx.Fulfillment.length / 2);
161
+ baseFee = netFeeDrops.multipliedBy(33 + fulfillmentBytesSize / 16);
162
+ }
163
+ if (tx.ComputationAllowance != null) {
164
+ const gasPrice = yield fetchGasPrice(client);
165
+ const extraFee = gasPrice
166
+ .multipliedBy(tx.ComputationAllowance)
167
+ .dividedBy(MICRO_DROPS_PER_DROP);
168
+ baseFee = baseFee.plus(extraFee);
169
+ }
150
170
  }
151
171
  if (tx.TransactionType === 'EscrowCreate' && tx.FinishFunction != null) {
152
- baseFee = bignumber_js_1.default.sum(baseFee, 1000);
172
+ baseFee = baseFee.plus(1000);
153
173
  }
154
- if (tx.TransactionType === 'AccountDelete' ||
155
- tx.TransactionType === 'AMMCreate') {
156
- baseFee = yield fetchAccountDeleteFee(client);
174
+ const isSpecialTxCost = ['AccountDelete', 'AMMCreate'].includes(tx.TransactionType);
175
+ if (isSpecialTxCost) {
176
+ baseFee = yield fetchOwnerReserveFee(client);
157
177
  }
158
178
  if (signersCount > 0) {
159
- baseFee = bignumber_js_1.default.sum(baseFee, scaleValue(netFeeDrops, 1 + signersCount));
179
+ baseFee = bignumber_js_1.default.sum(baseFee, netFeeDrops.multipliedBy(1 + signersCount));
160
180
  }
161
181
  const maxFeeDrops = (0, utils_1.xrpToDrops)(client.maxFeeXRP);
162
- const totalFee = tx.TransactionType === 'AccountDelete'
182
+ const totalFee = isSpecialTxCost
163
183
  ? baseFee
164
184
  : bignumber_js_1.default.min(baseFee, maxFeeDrops);
165
185
  tx.Fee = totalFee.dp(0, bignumber_js_1.default.ROUND_CEIL).toString(10);
166
186
  });
167
187
  }
168
188
  exports.calculateFeePerTransactionType = calculateFeePerTransactionType;
169
- function scaleValue(value, multiplier) {
170
- return new bignumber_js_1.default(value).times(multiplier).toString();
171
- }
172
189
  function setLatestValidatedLedgerSequence(client, tx) {
173
190
  return __awaiter(this, void 0, void 0, function* () {
174
191
  const ledgerSequence = yield client.getLedgerIndex();
@@ -1 +1 @@
1
- {"version":3,"file":"autofill.js","sourceRoot":"","sources":["../../../src/sugar/autofill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autofill.js","sourceRoot":"","sources":["../../../src/sugar/autofill.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xrpl",
3
- "version": "4.3.0-smartescrow.1",
3
+ "version": "4.3.0-smartescrow.3",
4
4
  "license": "ISC",
5
5
  "description": "A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser",
6
6
  "files": [
@@ -29,7 +29,7 @@
29
29
  "bignumber.js": "^9.0.0",
30
30
  "eventemitter3": "^5.0.1",
31
31
  "ripple-address-codec": "^5.0.0",
32
- "ripple-binary-codec": "^2.4.0-alpha.0",
32
+ "ripple-binary-codec": "^2.4.0-smartescrow.2",
33
33
  "ripple-keypairs": "^2.0.0"
34
34
  },
35
35
  "devDependencies": {
@@ -85,5 +85,5 @@
85
85
  "engines": {
86
86
  "node": ">=18.0.0"
87
87
  },
88
- "gitHead": "bfae0784014089a2312a8950ca7c34e7426ac417"
88
+ "gitHead": "d866d6641fffc460561f50e3fd79e744764919bc"
89
89
  }
@@ -14,7 +14,11 @@ export interface IssuedCurrency {
14
14
  issuer: string
15
15
  }
16
16
 
17
- export type Currency = IssuedCurrency | XRP
17
+ export interface MPTCurrency {
18
+ mpt_issuance_id: string
19
+ }
20
+
21
+ export type Currency = IssuedCurrency | MPTCurrency | XRP
18
22
 
19
23
  export interface IssuedCurrencyAmount extends IssuedCurrency {
20
24
  value: string
@@ -0,0 +1,39 @@
1
+ import { Permission } from '../transactions'
2
+
3
+ import { BaseLedgerEntry, HasPreviousTxnID } from './BaseLedgerEntry'
4
+
5
+ /**
6
+ * This object represents a set of permissions that an account has delegated to another account.
7
+ *
8
+ * @category Ledger Entries
9
+ */
10
+ export default interface Delegate extends BaseLedgerEntry, HasPreviousTxnID {
11
+ LedgerEntryType: 'Delegate'
12
+
13
+ /**
14
+ * The account that wants to authorize another account.
15
+ */
16
+ Account: string
17
+
18
+ /**
19
+ * The authorized account.
20
+ */
21
+ Authorize: string
22
+
23
+ /**
24
+ * The transaction permissions that the account has access to.
25
+ */
26
+ Permissions: Permission[]
27
+
28
+ /**
29
+ * A hint indicating which page of the sender's owner directory links to this object,
30
+ * in case the directory consists of multiple pages.
31
+ */
32
+ OwnerNode: string
33
+
34
+ /**
35
+ * A bit-map of boolean flags. No flags are defined for the Delegate object
36
+ * type, so this value is always 0.
37
+ */
38
+ Flags: 0
39
+ }
@@ -4,6 +4,7 @@ import AMM from './AMM'
4
4
  import Bridge from './Bridge'
5
5
  import Check from './Check'
6
6
  import Credential from './Credential'
7
+ import Delegate from './Delegate'
7
8
  import DepositPreauth from './DepositPreauth'
8
9
  import DirectoryNode from './DirectoryNode'
9
10
  import Escrow from './Escrow'
@@ -27,6 +28,7 @@ type LedgerEntry =
27
28
  | Bridge
28
29
  | Check
29
30
  | Credential
31
+ | Delegate
30
32
  | DepositPreauth
31
33
  | DirectoryNode
32
34
  | Escrow
@@ -50,6 +52,7 @@ type LedgerEntryFilter =
50
52
  | 'bridge'
51
53
  | 'check'
52
54
  | 'credential'
55
+ | 'delegate'
53
56
  | 'deposit_preauth'
54
57
  | 'did'
55
58
  | 'directory'
@@ -7,6 +7,7 @@ import AMM, { VoteSlot } from './AMM'
7
7
  import Bridge from './Bridge'
8
8
  import Check from './Check'
9
9
  import Credential from './Credential'
10
+ import Delegate from './Delegate'
10
11
  import DepositPreauth from './DepositPreauth'
11
12
  import DID from './DID'
12
13
  import DirectoryNode from './DirectoryNode'
@@ -43,6 +44,7 @@ export {
43
44
  Bridge,
44
45
  Check,
45
46
  Credential,
47
+ Delegate,
46
48
  DepositPreauth,
47
49
  DirectoryNode,
48
50
  DID,
@@ -223,6 +223,11 @@ export interface LedgerEntryRequest extends BaseRequest, LookupByLedgerRequest {
223
223
  xchain_owned_create_account_claim_id: string | number
224
224
  }
225
225
  | string
226
+
227
+ delegate?: {
228
+ account: string
229
+ authorize: string
230
+ }
226
231
  }
227
232
 
228
233
  /**
@@ -85,6 +85,11 @@ export interface ServerInfoResponse extends BaseResponse {
85
85
  hash: string
86
86
  reserve_base_xrp: number
87
87
  reserve_inc_xrp: number
88
+
89
+ extension_compute: number
90
+ extension_size: number
91
+ gas_price: number
92
+
88
93
  seq: number
89
94
  }
90
95
  /**
@@ -252,6 +257,10 @@ export interface ServerInfoResponse extends BaseResponse {
252
257
  * object an account owns in the ledger.
253
258
  */
254
259
  reserve_inc_xrp: number
260
+
261
+ extension_compute: number
262
+ extension_size: number
263
+ gas_price: number
255
264
  /** The ledger index of the latest validated ledger. */
256
265
  seq: number
257
266
  }
@@ -30,6 +30,11 @@ export interface ServerStateResponse extends BaseResponse {
30
30
  hash: string
31
31
  reserve_base: number
32
32
  reserve_inc: number
33
+
34
+ extension_compute: number
35
+ extension_size: number
36
+ gas_price: number
37
+
33
38
  seq: number
34
39
  }
35
40
  io_latency_ms: number
@@ -69,6 +74,11 @@ export interface ServerStateResponse extends BaseResponse {
69
74
  hash: string
70
75
  reserve_base: number
71
76
  reserve_inc: number
77
+
78
+ extension_compute: number
79
+ extension_size: number
80
+ gas_price: number
81
+
72
82
  seq: number
73
83
  }
74
84
  validation_quorum: number
@@ -1,4 +1,5 @@
1
1
  import { ValidationError } from '../../errors'
2
+ import { Amount } from '../common'
2
3
  import { isHex } from '../utils'
3
4
 
4
5
  import {
@@ -6,6 +7,8 @@ import {
6
7
  BaseTransaction,
7
8
  GlobalFlags,
8
9
  isAccount,
10
+ isAmount,
11
+ isNumber,
9
12
  validateBaseTransaction,
10
13
  validateOptionalField,
11
14
  } from './common'
@@ -104,12 +107,34 @@ export interface NFTokenMint extends BaseTransaction {
104
107
  * set to `undefined` value if you do not use it.
105
108
  */
106
109
  URI?: string | null
110
+ /**
111
+ * Indicates the amount expected for the Token.
112
+ *
113
+ * The amount can be zero. This would indicate that the account is giving
114
+ * the token away free, either to anyone at all, or to the account identified
115
+ * by the Destination field.
116
+ */
117
+ Amount?: Amount
118
+ /**
119
+ * Indicates the time after which the offer will no longer
120
+ * be valid. The value is the number of seconds since the
121
+ * Ripple Epoch.
122
+ */
123
+ Expiration?: number
124
+ /**
125
+ * If present, indicates that this offer may only be
126
+ * accepted by the specified account. Attempts by other
127
+ * accounts to accept this offer MUST fail.
128
+ */
129
+ Destination?: Account
107
130
  Flags?: number | NFTokenMintFlagsInterface
108
131
  }
109
132
 
110
133
  export interface NFTokenMintMetadata extends TransactionMetadataBase {
111
134
  // rippled 1.11.0 or later
112
135
  nftoken_id?: string
136
+ // if Amount is present
137
+ offer_id?: string
113
138
  }
114
139
 
115
140
  /**
@@ -140,4 +165,16 @@ export function validateNFTokenMint(tx: Record<string, unknown>): void {
140
165
  if (tx.NFTokenTaxon == null) {
141
166
  throw new ValidationError('NFTokenMint: missing field NFTokenTaxon')
142
167
  }
168
+
169
+ if (tx.Amount == null) {
170
+ if (tx.Expiration != null || tx.Destination != null) {
171
+ throw new ValidationError(
172
+ 'NFTokenMint: Amount is required when Expiration or Destination is present',
173
+ )
174
+ }
175
+ }
176
+
177
+ validateOptionalField(tx, 'Amount', isAmount)
178
+ validateOptionalField(tx, 'Expiration', isNumber)
179
+ validateOptionalField(tx, 'Destination', isAccount)
143
180
  }
@@ -337,6 +337,10 @@ export interface BaseTransaction {
337
337
  * The network id of the transaction.
338
338
  */
339
339
  NetworkID?: number
340
+ /**
341
+ * The delegate account that is sending the transaction.
342
+ */
343
+ Delegate?: Account
340
344
  }
341
345
 
342
346
  /**
@@ -347,6 +351,7 @@ export interface BaseTransaction {
347
351
  * @param common - An interface w/ common transaction fields.
348
352
  * @throws When the common param is malformed.
349
353
  */
354
+ // eslint-disable-next-line max-statements -- lines required for validation
350
355
  export function validateBaseTransaction(common: Record<string, unknown>): void {
351
356
  if (common.TransactionType === undefined) {
352
357
  throw new ValidationError('BaseTransaction: missing field TransactionType')
@@ -395,6 +400,15 @@ export function validateBaseTransaction(common: Record<string, unknown>): void {
395
400
  validateOptionalField(common, 'TxnSignature', isString)
396
401
 
397
402
  validateOptionalField(common, 'NetworkID', isNumber)
403
+
404
+ validateOptionalField(common, 'Delegate', isAccount)
405
+
406
+ const delegate = common.Delegate
407
+ if (delegate != null && delegate === common.Account) {
408
+ throw new ValidationError(
409
+ 'BaseTransaction: Account and Delegate addresses cannot be the same',
410
+ )
411
+ }
398
412
  }
399
413
 
400
414
  /**
@@ -0,0 +1,111 @@
1
+ import { ValidationError } from '../../errors'
2
+
3
+ import {
4
+ BaseTransaction,
5
+ validateBaseTransaction,
6
+ validateRequiredField,
7
+ isAccount,
8
+ Account,
9
+ } from './common'
10
+
11
+ const PERMISSIONS_MAX_LENGTH = 10
12
+ const NON_DELEGATABLE_TRANSACTIONS = new Set([
13
+ 'AccountSet',
14
+ 'SetRegularKey',
15
+ 'SignerListSet',
16
+ 'DelegateSet',
17
+ 'AccountDelete',
18
+ // Pseudo transactions below:
19
+ 'EnableAmendment',
20
+ 'SetFee',
21
+ 'UNLModify',
22
+ ])
23
+
24
+ export interface Permission {
25
+ Permission: {
26
+ PermissionValue: string
27
+ }
28
+ }
29
+
30
+ /**
31
+ * DelegateSet allows an account to delegate a set of permissions to another account.
32
+ *
33
+ * @category Transaction Models
34
+ */
35
+ export interface DelegateSet extends BaseTransaction {
36
+ TransactionType: 'DelegateSet'
37
+
38
+ /**
39
+ * The authorized account.
40
+ */
41
+ Authorize: Account
42
+
43
+ /**
44
+ * The transaction permissions (represented by integers) that the account has been granted.
45
+ */
46
+ Permissions: Permission[]
47
+ }
48
+
49
+ /**
50
+ * Verify the form and type of an DelegateSet at runtime.
51
+ *
52
+ * @param tx - An DelegateSet Transaction.
53
+ * @throws When the DelegateSet is malformed.
54
+ */
55
+ // eslint-disable-next-line max-lines-per-function -- necessary for validation
56
+ export function validateDelegateSet(tx: Record<string, unknown>): void {
57
+ validateBaseTransaction(tx)
58
+
59
+ validateRequiredField(tx, 'Authorize', isAccount)
60
+
61
+ if (tx.Authorize === tx.Account) {
62
+ throw new ValidationError(
63
+ 'DelegateSet: Authorize and Account must be different.',
64
+ )
65
+ }
66
+
67
+ validateRequiredField(tx, 'Permissions', Array.isArray)
68
+
69
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- required for validation
70
+ const permissions = tx.Permissions as DelegateSet['Permissions']
71
+ if (permissions.length > PERMISSIONS_MAX_LENGTH) {
72
+ throw new ValidationError(
73
+ `DelegateSet: Permissions array length cannot be greater than ${PERMISSIONS_MAX_LENGTH}.`,
74
+ )
75
+ }
76
+
77
+ const permissionValueSet = new Set()
78
+ permissions.forEach((permission: Permission) => {
79
+ if (
80
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- required for validation
81
+ permission == null ||
82
+ Object.keys(permission).length !== 1 ||
83
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- required for validation
84
+ permission.Permission == null ||
85
+ Object.keys(permission.Permission).length !== 1
86
+ ) {
87
+ throw new ValidationError(
88
+ 'DelegateSet: Permissions array element is malformed',
89
+ )
90
+ }
91
+ const permissionValue = permission.Permission.PermissionValue
92
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- required for validation
93
+ if (permissionValue == null) {
94
+ throw new ValidationError('DelegateSet: PermissionValue must be defined')
95
+ }
96
+ if (typeof permissionValue !== 'string') {
97
+ throw new ValidationError('DelegateSet: PermissionValue must be a string')
98
+ }
99
+ if (NON_DELEGATABLE_TRANSACTIONS.has(permissionValue)) {
100
+ throw new ValidationError(
101
+ `DelegateSet: PermissionValue contains a non-delegatable transaction ${permissionValue}`,
102
+ )
103
+ }
104
+ permissionValueSet.add(permissionValue)
105
+ })
106
+ if (permissions.length !== permissionValueSet.size) {
107
+ throw new ValidationError(
108
+ 'DelegateSet: Permissions array cannot contain duplicate values',
109
+ )
110
+ }
111
+ }
@@ -38,6 +38,8 @@ export interface EscrowFinish extends BaseTransaction {
38
38
  * The credentials included must not be expired.
39
39
  */
40
40
  CredentialIDs?: string[]
41
+
42
+ ComputationAllowance?: number
41
43
  }
42
44
 
43
45
  /**