algosdk 2.0.0 → 2.2.0

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 (175) hide show
  1. package/README.md +4 -4
  2. package/dist/browser/algosdk.min.js +1 -1
  3. package/dist/browser/algosdk.min.js.map +1 -1
  4. package/dist/cjs/abi/abi_type.js +6 -5
  5. package/dist/cjs/abi/abi_type.js.map +1 -1
  6. package/dist/cjs/bid.js +6 -5
  7. package/dist/cjs/bid.js.map +1 -1
  8. package/dist/cjs/client/client.js +4 -3
  9. package/dist/cjs/client/client.js.map +1 -1
  10. package/dist/cjs/client/kmd.js +12 -11
  11. package/dist/cjs/client/kmd.js.map +1 -1
  12. package/dist/cjs/client/urlTokenBaseHTTPClient.js +2 -1
  13. package/dist/cjs/client/urlTokenBaseHTTPClient.js.map +1 -1
  14. package/dist/cjs/client/v2/algod/algod.js +32 -0
  15. package/dist/cjs/client/v2/algod/algod.js.map +1 -1
  16. package/dist/cjs/client/v2/algod/compile.js +2 -1
  17. package/dist/cjs/client/v2/algod/compile.js.map +1 -1
  18. package/dist/cjs/client/v2/algod/disassemble.js +46 -0
  19. package/dist/cjs/client/v2/algod/disassemble.js.map +1 -0
  20. package/dist/cjs/client/v2/algod/dryrun.js +2 -1
  21. package/dist/cjs/client/v2/algod/dryrun.js.map +1 -1
  22. package/dist/cjs/client/v2/algod/getApplicationBoxByName.js +2 -1
  23. package/dist/cjs/client/v2/algod/getApplicationBoxByName.js.map +1 -1
  24. package/dist/cjs/client/v2/algod/models/types.js +141 -21
  25. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  26. package/dist/cjs/client/v2/algod/sendRawTransaction.js +2 -1
  27. package/dist/cjs/client/v2/algod/sendRawTransaction.js.map +1 -1
  28. package/dist/cjs/client/v2/algod/simulateTransaction.js +88 -0
  29. package/dist/cjs/client/v2/algod/simulateTransaction.js.map +1 -0
  30. package/dist/cjs/client/v2/basemodel.js +3 -2
  31. package/dist/cjs/client/v2/basemodel.js.map +1 -1
  32. package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js +2 -1
  33. package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
  34. package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js +2 -1
  35. package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
  36. package/dist/cjs/client/v2/indexer/models/types.js +39 -38
  37. package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
  38. package/dist/cjs/composer.js +75 -23
  39. package/dist/cjs/composer.js.map +1 -1
  40. package/dist/cjs/dryrun.js +6 -5
  41. package/dist/cjs/dryrun.js.map +1 -1
  42. package/dist/cjs/encoding/address.js +2 -1
  43. package/dist/cjs/encoding/address.js.map +1 -1
  44. package/dist/cjs/encoding/bigint.js +2 -1
  45. package/dist/cjs/encoding/bigint.js.map +1 -1
  46. package/dist/cjs/encoding/encoding.js +14 -3
  47. package/dist/cjs/encoding/encoding.js.map +1 -1
  48. package/dist/cjs/encoding/uint64.js +14 -8
  49. package/dist/cjs/encoding/uint64.js.map +1 -1
  50. package/dist/cjs/group.js +6 -5
  51. package/dist/cjs/group.js.map +1 -1
  52. package/dist/cjs/logicsig.js +22 -8
  53. package/dist/cjs/logicsig.js.map +1 -1
  54. package/dist/cjs/main.js +7 -5
  55. package/dist/cjs/main.js.map +1 -1
  56. package/dist/cjs/multisig.js +6 -5
  57. package/dist/cjs/multisig.js.map +1 -1
  58. package/dist/cjs/signer.js +17 -1
  59. package/dist/cjs/signer.js.map +1 -1
  60. package/dist/cjs/transaction.js +81 -64
  61. package/dist/cjs/transaction.js.map +1 -1
  62. package/dist/cjs/types/transactions/encoded.js +0 -3
  63. package/dist/cjs/types/transactions/encoded.js.map +1 -1
  64. package/dist/cjs/utils/utils.js +5 -1
  65. package/dist/cjs/utils/utils.js.map +1 -1
  66. package/dist/esm/abi/abi_type.js +1 -0
  67. package/dist/esm/abi/abi_type.js.map +1 -1
  68. package/dist/esm/bid.js +1 -0
  69. package/dist/esm/bid.js.map +1 -1
  70. package/dist/esm/client/client.js +1 -0
  71. package/dist/esm/client/client.js.map +1 -1
  72. package/dist/esm/client/kmd.js +1 -0
  73. package/dist/esm/client/kmd.js.map +1 -1
  74. package/dist/esm/client/urlTokenBaseHTTPClient.js +1 -0
  75. package/dist/esm/client/urlTokenBaseHTTPClient.js.map +1 -1
  76. package/dist/esm/client/v2/algod/algod.js +32 -0
  77. package/dist/esm/client/v2/algod/algod.js.map +1 -1
  78. package/dist/esm/client/v2/algod/compile.js +1 -0
  79. package/dist/esm/client/v2/algod/compile.js.map +1 -1
  80. package/dist/esm/client/v2/algod/disassemble.js +38 -0
  81. package/dist/esm/client/v2/algod/disassemble.js.map +1 -0
  82. package/dist/esm/client/v2/algod/dryrun.js +1 -0
  83. package/dist/esm/client/v2/algod/dryrun.js.map +1 -1
  84. package/dist/esm/client/v2/algod/getApplicationBoxByName.js +1 -0
  85. package/dist/esm/client/v2/algod/getApplicationBoxByName.js.map +1 -1
  86. package/dist/esm/client/v2/algod/models/types.js +117 -0
  87. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  88. package/dist/esm/client/v2/algod/sendRawTransaction.js +1 -0
  89. package/dist/esm/client/v2/algod/sendRawTransaction.js.map +1 -1
  90. package/dist/esm/client/v2/algod/simulateTransaction.js +57 -0
  91. package/dist/esm/client/v2/algod/simulateTransaction.js.map +1 -0
  92. package/dist/esm/client/v2/basemodel.js +1 -0
  93. package/dist/esm/client/v2/basemodel.js.map +1 -1
  94. package/dist/esm/client/v2/indexer/lookupAccountTransactions.js +1 -0
  95. package/dist/esm/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
  96. package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js +1 -0
  97. package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
  98. package/dist/esm/client/v2/indexer/models/types.js +1 -0
  99. package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
  100. package/dist/esm/composer.js +75 -23
  101. package/dist/esm/composer.js.map +1 -1
  102. package/dist/esm/dryrun.js +1 -0
  103. package/dist/esm/dryrun.js.map +1 -1
  104. package/dist/esm/encoding/address.js +1 -0
  105. package/dist/esm/encoding/address.js.map +1 -1
  106. package/dist/esm/encoding/bigint.js +1 -0
  107. package/dist/esm/encoding/bigint.js.map +1 -1
  108. package/dist/esm/encoding/encoding.js +12 -2
  109. package/dist/esm/encoding/encoding.js.map +1 -1
  110. package/dist/esm/encoding/uint64.js +14 -8
  111. package/dist/esm/encoding/uint64.js.map +1 -1
  112. package/dist/esm/group.js +1 -0
  113. package/dist/esm/group.js.map +1 -1
  114. package/dist/esm/logicsig.js +13 -0
  115. package/dist/esm/logicsig.js.map +1 -1
  116. package/dist/esm/main.js +2 -1
  117. package/dist/esm/main.js.map +1 -1
  118. package/dist/esm/multisig.js +1 -0
  119. package/dist/esm/multisig.js.map +1 -1
  120. package/dist/esm/signer.js +15 -0
  121. package/dist/esm/signer.js.map +1 -1
  122. package/dist/esm/transaction.js +16 -0
  123. package/dist/esm/transaction.js.map +1 -1
  124. package/dist/esm/types/transactions/encoded.js +0 -3
  125. package/dist/esm/types/transactions/encoded.js.map +1 -1
  126. package/dist/esm/utils/utils.js +5 -1
  127. package/dist/esm/utils/utils.js.map +1 -1
  128. package/dist/types/client/v2/algod/algod.d.ts +28 -0
  129. package/dist/types/client/v2/algod/disassemble.d.ts +20 -0
  130. package/dist/types/client/v2/algod/models/types.d.ts +103 -0
  131. package/dist/types/client/v2/algod/simulateTransaction.d.ts +19 -0
  132. package/dist/types/client/v2/basemodel.d.ts +0 -3
  133. package/dist/types/composer.d.ts +35 -2
  134. package/dist/types/encoding/encoding.d.ts +7 -0
  135. package/dist/types/logicsig.d.ts +8 -0
  136. package/dist/types/main.d.ts +1 -1
  137. package/dist/types/signer.d.ts +5 -0
  138. package/dist/types/transaction.d.ts +9 -0
  139. package/dist/types/types/transactions/builder.d.ts +1 -1
  140. package/dist/types/types/transactions/encoded.d.ts +1 -1
  141. package/dist/types/types/utils.d.ts +1 -1
  142. package/package.json +2 -3
  143. package/src/abi/abi_type.ts +1 -0
  144. package/src/bid.ts +1 -0
  145. package/src/client/client.ts +1 -0
  146. package/src/client/kmd.ts +1 -0
  147. package/src/client/urlTokenBaseHTTPClient.ts +1 -0
  148. package/src/client/v2/algod/algod.ts +34 -0
  149. package/src/client/v2/algod/compile.ts +1 -0
  150. package/src/client/v2/algod/disassemble.ts +46 -0
  151. package/src/client/v2/algod/dryrun.ts +1 -0
  152. package/src/client/v2/algod/getApplicationBoxByName.ts +1 -0
  153. package/src/client/v2/algod/models/types.ts +223 -0
  154. package/src/client/v2/algod/sendRawTransaction.ts +1 -0
  155. package/src/client/v2/algod/simulateTransaction.ts +74 -0
  156. package/src/client/v2/basemodel.ts +2 -0
  157. package/src/client/v2/indexer/lookupAccountTransactions.ts +1 -0
  158. package/src/client/v2/indexer/lookupApplicationBoxByIDandName.ts +1 -0
  159. package/src/client/v2/indexer/models/types.ts +1 -0
  160. package/src/composer.ts +130 -34
  161. package/src/dryrun.ts +1 -0
  162. package/src/encoding/address.ts +1 -0
  163. package/src/encoding/bigint.ts +2 -0
  164. package/src/encoding/encoding.ts +13 -2
  165. package/src/encoding/uint64.ts +16 -10
  166. package/src/group.ts +1 -0
  167. package/src/logicsig.ts +24 -0
  168. package/src/main.ts +2 -0
  169. package/src/multisig.ts +1 -0
  170. package/src/signer.ts +18 -1
  171. package/src/transaction.ts +19 -0
  172. package/src/types/transactions/builder.ts +4 -4
  173. package/src/types/transactions/encoded.ts +2 -0
  174. package/src/types/utils.ts +1 -1
  175. package/src/utils/utils.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":";;;AAEA,yCAA4E;AAE5E,yCAAgF;AAehF;;GAEG;AACH,SAAgB,iCAAiC,CAC/C,OAAgB;IAEhB,OAAO,CAAC,QAAuB,EAAE,aAAuB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;SAClD;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAZD,8EAYC;AAED;;GAEG;AACH,SAAgB,oCAAoC,CAClD,OAAwB;IAExB,OAAO,CAAC,QAAuB,EAAE,aAAuB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,wCAA6B,EAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAbD,oFAaC;AAED;;;;GAIG;AACH,SAAgB,oCAAoC,CAClD,IAAsB,EACtB,GAAiB;IAEjB,OAAO,CAAC,QAAuB,EAAE,aAAuB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;YACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,WAAW,GAAiB,EAAE,CAAC;YAErC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;gBACpB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kCAAuB,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;YAED,MAAM,CAAC,IAAI,CAAC,IAAA,oCAAyB,EAAC,WAAW,CAAC,CAAC,CAAC;SACrD;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AArBD,oFAqBC;AAUD;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,KAAU;IAEV,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,CACnC,CAAC;AACJ,CAAC;AATD,0DASC"}
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":";;;AAAA,+CAA+E;AAE/E,yCAA4E;AAE5E,yCAAgF;AAehF;;GAEG;AACH,SAAgB,iCAAiC,CAC/C,OAAgB;IAEhB,OAAO,CAAC,QAAuB,EAAE,aAAuB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;SAClD;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAZD,8EAYC;AAED;;GAEG;AACH,SAAgB,oCAAoC,CAClD,OAAwB;IAExB,OAAO,CAAC,QAAuB,EAAE,aAAuB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,wCAA6B,EAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAbD,oFAaC;AAED;;;;GAIG;AACH,SAAgB,oCAAoC,CAClD,IAAsB,EACtB,GAAiB;IAEjB,OAAO,CAAC,QAAuB,EAAE,aAAuB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;YACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,WAAW,GAAiB,EAAE,CAAC;YAErC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;gBACpB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kCAAuB,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;YAED,MAAM,CAAC,IAAI,CAAC,IAAA,oCAAyB,EAAC,WAAW,CAAC,CAAC,CAAC;SACrD;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AArBD,oFAqBC;AAED;;;GAGG;AACH,SAAgB,0BAA0B;IACxC,6DAA6D;IAC7D,OAAO,CAAC,QAAuB,EAAE,aAAuB,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAElC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,IAAA,+CAAiC,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACnE;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAXD,gEAWC;AAUD;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,KAAU;IAEV,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,CACnC,CAAC;AACJ,CAAC;AATD,0DASC"}
@@ -26,7 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.instantiateTxnIfNeeded = exports.decodeSignedTransaction = exports.decodeUnsignedTransaction = exports.encodeUnsignedTransaction = exports.Transaction = exports.ALGORAND_MIN_TX_FEE = void 0;
29
+ exports.instantiateTxnIfNeeded = exports.decodeSignedTransaction = exports.decodeUnsignedTransaction = exports.encodeUnsignedTransaction = exports.encodeUnsignedSimulateTransaction = exports.Transaction = exports.ALGORAND_MIN_TX_FEE = void 0;
30
+ const buffer_1 = require("buffer");
30
31
  const hi_base32_1 = __importDefault(require("hi-base32"));
31
32
  const address = __importStar(require("./encoding/address"));
32
33
  const encoding = __importStar(require("./encoding/encoding"));
@@ -52,12 +53,12 @@ function getKeyregKey(input, inputName, length) {
52
53
  }
53
54
  let inputAsBuffer;
54
55
  if (typeof input === 'string') {
55
- inputAsBuffer = Buffer.from(input, 'base64');
56
+ inputAsBuffer = buffer_1.Buffer.from(input, 'base64');
56
57
  }
57
58
  else if (input.constructor === Uint8Array) {
58
- inputAsBuffer = Buffer.from(input);
59
+ inputAsBuffer = buffer_1.Buffer.from(input);
59
60
  }
60
- else if (Buffer.isBuffer(input)) {
61
+ else if (buffer_1.Buffer.isBuffer(input)) {
61
62
  inputAsBuffer = input;
62
63
  }
63
64
  if (inputAsBuffer == null || inputAsBuffer.byteLength !== length) {
@@ -71,7 +72,7 @@ function getKeyregKey(input, inputName, length) {
71
72
  class Transaction {
72
73
  constructor({ ...transaction }) {
73
74
  this.name = 'Transaction';
74
- this.tag = Buffer.from('TX');
75
+ this.tag = buffer_1.Buffer.from('TX');
75
76
  // Populate defaults
76
77
  /* eslint-disable no-param-reassign */
77
78
  const defaults = {
@@ -133,7 +134,7 @@ class Transaction {
133
134
  txn.reKeyTo = address.decodeAddress(txn.reKeyTo);
134
135
  if (txn.genesisHash === undefined)
135
136
  throw Error('genesis hash must be specified and in a base64 string.');
136
- txn.genesisHash = Buffer.from(txn.genesisHash, 'base64');
137
+ txn.genesisHash = buffer_1.Buffer.from(txn.genesisHash, 'base64');
137
138
  if (txn.amount !== undefined &&
138
139
  (!(Number.isSafeInteger(txn.amount) ||
139
140
  (typeof txn.amount === 'bigint' &&
@@ -238,7 +239,7 @@ class Transaction {
238
239
  if (txn.assetMetadataHash !== undefined &&
239
240
  txn.assetMetadataHash.length !== 0) {
240
241
  if (typeof txn.assetMetadataHash === 'string') {
241
- txn.assetMetadataHash = new Uint8Array(Buffer.from(txn.assetMetadataHash));
242
+ txn.assetMetadataHash = new Uint8Array(buffer_1.Buffer.from(txn.assetMetadataHash));
242
243
  }
243
244
  if (txn.assetMetadataHash.constructor !== Uint8Array ||
244
245
  txn.assetMetadataHash.byteLength !== ASSET_METADATA_HASH_LENGTH) {
@@ -346,26 +347,26 @@ class Transaction {
346
347
  fee: this.fee,
347
348
  fv: this.firstRound,
348
349
  lv: this.lastRound,
349
- note: Buffer.from(this.note),
350
- snd: Buffer.from(this.from.publicKey),
350
+ note: buffer_1.Buffer.from(this.note),
351
+ snd: buffer_1.Buffer.from(this.from.publicKey),
351
352
  type: 'pay',
352
353
  gen: this.genesisID,
353
354
  gh: this.genesisHash,
354
- lx: Buffer.from(this.lease),
355
+ lx: buffer_1.Buffer.from(this.lease),
355
356
  grp: this.group,
356
357
  };
357
358
  // parse close address
358
359
  if (this.closeRemainderTo !== undefined &&
359
360
  address.encodeAddress(this.closeRemainderTo.publicKey) !==
360
361
  address.ALGORAND_ZERO_ADDRESS_STRING) {
361
- txn.close = Buffer.from(this.closeRemainderTo.publicKey);
362
+ txn.close = buffer_1.Buffer.from(this.closeRemainderTo.publicKey);
362
363
  }
363
364
  if (this.reKeyTo !== undefined) {
364
- txn.rekey = Buffer.from(this.reKeyTo.publicKey);
365
+ txn.rekey = buffer_1.Buffer.from(this.reKeyTo.publicKey);
365
366
  }
366
367
  // allowed zero values
367
368
  if (this.to !== undefined)
368
- txn.rcv = Buffer.from(this.to.publicKey);
369
+ txn.rcv = buffer_1.Buffer.from(this.to.publicKey);
369
370
  if (!txn.note.length)
370
371
  delete txn.note;
371
372
  if (!txn.amt)
@@ -389,12 +390,12 @@ class Transaction {
389
390
  fee: this.fee,
390
391
  fv: this.firstRound,
391
392
  lv: this.lastRound,
392
- note: Buffer.from(this.note),
393
- snd: Buffer.from(this.from.publicKey),
393
+ note: buffer_1.Buffer.from(this.note),
394
+ snd: buffer_1.Buffer.from(this.from.publicKey),
394
395
  type: this.type,
395
396
  gen: this.genesisID,
396
397
  gh: this.genesisHash,
397
- lx: Buffer.from(this.lease),
398
+ lx: buffer_1.Buffer.from(this.lease),
398
399
  grp: this.group,
399
400
  votekey: this.voteKey,
400
401
  selkey: this.selectionKey,
@@ -417,7 +418,7 @@ class Transaction {
417
418
  if (txn.grp === undefined)
418
419
  delete txn.grp;
419
420
  if (this.reKeyTo !== undefined) {
420
- txn.rekey = Buffer.from(this.reKeyTo.publicKey);
421
+ txn.rekey = buffer_1.Buffer.from(this.reKeyTo.publicKey);
421
422
  }
422
423
  if (this.nonParticipation) {
423
424
  txn.nonpart = true;
@@ -442,12 +443,12 @@ class Transaction {
442
443
  fee: this.fee,
443
444
  fv: this.firstRound,
444
445
  lv: this.lastRound,
445
- note: Buffer.from(this.note),
446
- snd: Buffer.from(this.from.publicKey),
446
+ note: buffer_1.Buffer.from(this.note),
447
+ snd: buffer_1.Buffer.from(this.from.publicKey),
447
448
  type: this.type,
448
449
  gen: this.genesisID,
449
450
  gh: this.genesisHash,
450
- lx: Buffer.from(this.lease),
451
+ lx: buffer_1.Buffer.from(this.lease),
451
452
  grp: this.group,
452
453
  caid: this.assetIndex,
453
454
  apar: {
@@ -457,13 +458,13 @@ class Transaction {
457
458
  },
458
459
  };
459
460
  if (this.assetManager !== undefined)
460
- txn.apar.m = Buffer.from(this.assetManager.publicKey);
461
+ txn.apar.m = buffer_1.Buffer.from(this.assetManager.publicKey);
461
462
  if (this.assetReserve !== undefined)
462
- txn.apar.r = Buffer.from(this.assetReserve.publicKey);
463
+ txn.apar.r = buffer_1.Buffer.from(this.assetReserve.publicKey);
463
464
  if (this.assetFreeze !== undefined)
464
- txn.apar.f = Buffer.from(this.assetFreeze.publicKey);
465
+ txn.apar.f = buffer_1.Buffer.from(this.assetFreeze.publicKey);
465
466
  if (this.assetClawback !== undefined)
466
- txn.apar.c = Buffer.from(this.assetClawback.publicKey);
467
+ txn.apar.c = buffer_1.Buffer.from(this.assetClawback.publicKey);
467
468
  if (this.assetName !== undefined)
468
469
  txn.apar.an = this.assetName;
469
470
  if (this.assetUnitName !== undefined)
@@ -471,7 +472,7 @@ class Transaction {
471
472
  if (this.assetURL !== undefined)
472
473
  txn.apar.au = this.assetURL;
473
474
  if (this.assetMetadataHash !== undefined)
474
- txn.apar.am = Buffer.from(this.assetMetadataHash);
475
+ txn.apar.am = buffer_1.Buffer.from(this.assetMetadataHash);
475
476
  // allowed zero values
476
477
  if (!txn.note.length)
477
478
  delete txn.note;
@@ -486,7 +487,7 @@ class Transaction {
486
487
  if (!txn.gen)
487
488
  delete txn.gen;
488
489
  if (this.reKeyTo !== undefined) {
489
- txn.rekey = Buffer.from(this.reKeyTo.publicKey);
490
+ txn.rekey = buffer_1.Buffer.from(this.reKeyTo.publicKey);
490
491
  }
491
492
  if (!txn.caid)
492
493
  delete txn.caid;
@@ -538,20 +539,20 @@ class Transaction {
538
539
  fee: this.fee,
539
540
  fv: this.firstRound,
540
541
  lv: this.lastRound,
541
- note: Buffer.from(this.note),
542
- snd: Buffer.from(this.from.publicKey),
543
- arcv: Buffer.from(this.to.publicKey),
542
+ note: buffer_1.Buffer.from(this.note),
543
+ snd: buffer_1.Buffer.from(this.from.publicKey),
544
+ arcv: buffer_1.Buffer.from(this.to.publicKey),
544
545
  type: this.type,
545
546
  gen: this.genesisID,
546
547
  gh: this.genesisHash,
547
- lx: Buffer.from(this.lease),
548
+ lx: buffer_1.Buffer.from(this.lease),
548
549
  grp: this.group,
549
550
  xaid: this.assetIndex,
550
551
  };
551
552
  if (this.closeRemainderTo !== undefined)
552
- txn.aclose = Buffer.from(this.closeRemainderTo.publicKey);
553
+ txn.aclose = buffer_1.Buffer.from(this.closeRemainderTo.publicKey);
553
554
  if (this.assetRevocationTarget !== undefined)
554
- txn.asnd = Buffer.from(this.assetRevocationTarget.publicKey);
555
+ txn.asnd = buffer_1.Buffer.from(this.assetRevocationTarget.publicKey);
555
556
  // allowed zero values
556
557
  if (!txn.note.length)
557
558
  delete txn.note;
@@ -576,7 +577,7 @@ class Transaction {
576
577
  if (!txn.rekey)
577
578
  delete txn.rekey;
578
579
  if (this.reKeyTo !== undefined) {
579
- txn.rekey = Buffer.from(this.reKeyTo.publicKey);
580
+ txn.rekey = buffer_1.Buffer.from(this.reKeyTo.publicKey);
580
581
  }
581
582
  return txn;
582
583
  }
@@ -586,18 +587,18 @@ class Transaction {
586
587
  fee: this.fee,
587
588
  fv: this.firstRound,
588
589
  lv: this.lastRound,
589
- note: Buffer.from(this.note),
590
- snd: Buffer.from(this.from.publicKey),
590
+ note: buffer_1.Buffer.from(this.note),
591
+ snd: buffer_1.Buffer.from(this.from.publicKey),
591
592
  type: this.type,
592
593
  gen: this.genesisID,
593
594
  gh: this.genesisHash,
594
- lx: Buffer.from(this.lease),
595
+ lx: buffer_1.Buffer.from(this.lease),
595
596
  grp: this.group,
596
597
  faid: this.assetIndex,
597
598
  afrz: this.freezeState,
598
599
  };
599
600
  if (this.freezeAccount !== undefined)
600
- txn.fadd = Buffer.from(this.freezeAccount.publicKey);
601
+ txn.fadd = buffer_1.Buffer.from(this.freezeAccount.publicKey);
601
602
  // allowed zero values
602
603
  if (!txn.note.length)
603
604
  delete txn.note;
@@ -616,7 +617,7 @@ class Transaction {
616
617
  if (txn.grp === undefined)
617
618
  delete txn.grp;
618
619
  if (this.reKeyTo !== undefined) {
619
- txn.rekey = Buffer.from(this.reKeyTo.publicKey);
620
+ txn.rekey = buffer_1.Buffer.from(this.reKeyTo.publicKey);
620
621
  }
621
622
  return txn;
622
623
  }
@@ -626,12 +627,12 @@ class Transaction {
626
627
  fee: this.fee,
627
628
  fv: this.firstRound,
628
629
  lv: this.lastRound,
629
- note: Buffer.from(this.note),
630
- snd: Buffer.from(this.from.publicKey),
630
+ note: buffer_1.Buffer.from(this.note),
631
+ snd: buffer_1.Buffer.from(this.from.publicKey),
631
632
  type: this.type,
632
633
  gen: this.genesisID,
633
634
  gh: this.genesisHash,
634
- lx: Buffer.from(this.lease),
635
+ lx: buffer_1.Buffer.from(this.lease),
635
636
  grp: this.group,
636
637
  apid: this.appIndex,
637
638
  apan: this.appOnComplete,
@@ -649,19 +650,19 @@ class Transaction {
649
650
  apbx: (0, boxStorage_1.translateBoxReferences)(this.boxes, this.appForeignApps, this.appIndex),
650
651
  };
651
652
  if (this.reKeyTo !== undefined) {
652
- txn.rekey = Buffer.from(this.reKeyTo.publicKey);
653
+ txn.rekey = buffer_1.Buffer.from(this.reKeyTo.publicKey);
653
654
  }
654
655
  if (this.appApprovalProgram !== undefined) {
655
- txn.apap = Buffer.from(this.appApprovalProgram);
656
+ txn.apap = buffer_1.Buffer.from(this.appApprovalProgram);
656
657
  }
657
658
  if (this.appClearProgram !== undefined) {
658
- txn.apsu = Buffer.from(this.appClearProgram);
659
+ txn.apsu = buffer_1.Buffer.from(this.appClearProgram);
659
660
  }
660
661
  if (this.appArgs !== undefined) {
661
- txn.apaa = this.appArgs.map((arg) => Buffer.from(arg));
662
+ txn.apaa = this.appArgs.map((arg) => buffer_1.Buffer.from(arg));
662
663
  }
663
664
  if (this.appAccounts !== undefined) {
664
- txn.apat = this.appAccounts.map((decodedAddress) => Buffer.from(decodedAddress.publicKey));
665
+ txn.apat = this.appAccounts.map((decodedAddress) => buffer_1.Buffer.from(decodedAddress.publicKey));
665
666
  }
666
667
  // allowed zero values
667
668
  if (!txn.note.length)
@@ -724,15 +725,15 @@ class Transaction {
724
725
  fee: this.fee,
725
726
  fv: this.firstRound,
726
727
  lv: this.lastRound,
727
- note: Buffer.from(this.note),
728
- snd: Buffer.from(this.from.publicKey),
728
+ note: buffer_1.Buffer.from(this.note),
729
+ snd: buffer_1.Buffer.from(this.from.publicKey),
729
730
  type: this.type,
730
731
  gen: this.genesisID,
731
732
  gh: this.genesisHash,
732
- lx: Buffer.from(this.lease),
733
+ lx: buffer_1.Buffer.from(this.lease),
733
734
  sptype: this.stateProofType,
734
- spmsg: Buffer.from(this.stateProofMessage),
735
- sp: Buffer.from(this.stateProof),
735
+ spmsg: buffer_1.Buffer.from(this.stateProofMessage),
736
+ sp: buffer_1.Buffer.from(this.stateProof),
736
737
  };
737
738
  // allowed zero values
738
739
  if (!txn.sptype)
@@ -777,9 +778,9 @@ class Transaction {
777
778
  static from_obj_for_encoding(txnForEnc) {
778
779
  const txn = Object.create(this.prototype);
779
780
  txn.name = 'Transaction';
780
- txn.tag = Buffer.from('TX');
781
+ txn.tag = buffer_1.Buffer.from('TX');
781
782
  txn.genesisID = txnForEnc.gen;
782
- txn.genesisHash = Buffer.from(txnForEnc.gh);
783
+ txn.genesisHash = buffer_1.Buffer.from(txnForEnc.gh);
783
784
  if (!(0, base_1.isTransactionType)(txnForEnc.type)) {
784
785
  throw new Error(`Unrecognized transaction type: ${txnForEnc.type}`);
785
786
  }
@@ -791,7 +792,7 @@ class Transaction {
791
792
  txn.lease = new Uint8Array(txnForEnc.lx);
792
793
  txn.from = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.snd)));
793
794
  if (txnForEnc.grp !== undefined)
794
- txn.group = Buffer.from(txnForEnc.grp);
795
+ txn.group = buffer_1.Buffer.from(txnForEnc.grp);
795
796
  if (txnForEnc.rekey !== undefined)
796
797
  txn.reKeyTo = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.rekey)));
797
798
  if (txnForEnc.type === 'pay') {
@@ -802,13 +803,13 @@ class Transaction {
802
803
  }
803
804
  else if (txnForEnc.type === 'keyreg') {
804
805
  if (txnForEnc.votekey !== undefined) {
805
- txn.voteKey = Buffer.from(txnForEnc.votekey);
806
+ txn.voteKey = buffer_1.Buffer.from(txnForEnc.votekey);
806
807
  }
807
808
  if (txnForEnc.selkey !== undefined) {
808
- txn.selectionKey = Buffer.from(txnForEnc.selkey);
809
+ txn.selectionKey = buffer_1.Buffer.from(txnForEnc.selkey);
809
810
  }
810
811
  if (txnForEnc.sprfkey !== undefined) {
811
- txn.stateProofKey = Buffer.from(txnForEnc.sprfkey);
812
+ txn.stateProofKey = buffer_1.Buffer.from(txnForEnc.sprfkey);
812
813
  }
813
814
  if (txnForEnc.votekd !== undefined) {
814
815
  txn.voteKeyDilution = txnForEnc.votekd;
@@ -944,7 +945,7 @@ class Transaction {
944
945
  }
945
946
  bytesToSign() {
946
947
  const encodedMsg = this.toByte();
947
- return Buffer.from(utils.concatArrays(this.tag, encodedMsg));
948
+ return buffer_1.Buffer.from(utils.concatArrays(this.tag, encodedMsg));
948
949
  }
949
950
  toByte() {
950
951
  return encoding.encode(this.get_obj_for_encoding());
@@ -953,7 +954,7 @@ class Transaction {
953
954
  rawSignTxn(sk) {
954
955
  const toBeSigned = this.bytesToSign();
955
956
  const sig = nacl.sign(toBeSigned, sk);
956
- return Buffer.from(sig);
957
+ return buffer_1.Buffer.from(sig);
957
958
  }
958
959
  signTxn(sk) {
959
960
  // construct signed message
@@ -966,7 +967,7 @@ class Transaction {
966
967
  const pubKeyFromSk = keypair.publicKey;
967
968
  if (address.encodeAddress(pubKeyFromSk) !==
968
969
  address.encodeAddress(this.from.publicKey)) {
969
- sTxn.sgnr = Buffer.from(pubKeyFromSk);
970
+ sTxn.sgnr = buffer_1.Buffer.from(pubKeyFromSk);
970
971
  }
971
972
  return new Uint8Array(encoding.encode(sTxn));
972
973
  }
@@ -975,20 +976,20 @@ class Transaction {
975
976
  throw new Error('Invalid signature length');
976
977
  }
977
978
  const sTxn = {
978
- sig: Buffer.from(signature),
979
+ sig: buffer_1.Buffer.from(signature),
979
980
  txn: this.get_obj_for_encoding(),
980
981
  };
981
982
  // add AuthAddr if signing with a different key than From indicates
982
983
  if (signerAddr !== address.encodeAddress(this.from.publicKey)) {
983
984
  const signerPublicKey = address.decodeAddress(signerAddr).publicKey;
984
- sTxn.sgnr = Buffer.from(signerPublicKey);
985
+ sTxn.sgnr = buffer_1.Buffer.from(signerPublicKey);
985
986
  }
986
987
  return new Uint8Array(encoding.encode(sTxn));
987
988
  }
988
989
  rawTxID() {
989
990
  const enMsg = this.toByte();
990
- const gh = Buffer.from(utils.concatArrays(this.tag, enMsg));
991
- return Buffer.from(nacl.genericHash(gh));
991
+ const gh = buffer_1.Buffer.from(utils.concatArrays(this.tag, enMsg));
992
+ return buffer_1.Buffer.from(nacl.genericHash(gh));
992
993
  }
993
994
  txID() {
994
995
  const hash = this.rawTxID();
@@ -1071,6 +1072,22 @@ class Transaction {
1071
1072
  }
1072
1073
  }
1073
1074
  exports.Transaction = Transaction;
1075
+ /**
1076
+ * encodeUnsignedSimulateTransaction takes a txnBuilder.Transaction object,
1077
+ * converts it into a SignedTransaction-like object, and converts it to a Buffer.
1078
+ *
1079
+ * Note: this function should only be used to simulate unsigned transactions.
1080
+ *
1081
+ * @param transactionObject - Transaction object to simulate.
1082
+ */
1083
+ function encodeUnsignedSimulateTransaction(transactionObject) {
1084
+ const objToEncode = {
1085
+ sig: null,
1086
+ txn: transactionObject.get_obj_for_encoding(),
1087
+ };
1088
+ return encoding.rawEncode(objToEncode);
1089
+ }
1090
+ exports.encodeUnsignedSimulateTransaction = encodeUnsignedSimulateTransaction;
1074
1091
  /**
1075
1092
  * encodeUnsignedTransaction takes a completed txnBuilder.Transaction object, such as from the makeFoo
1076
1093
  * family of transactions, and converts it to a Buffer
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
1
  "use strict";
2
- /**
3
- * Interfaces for the encoded transaction object. Every property is labelled with its associated Transaction type property
4
- */
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  //# sourceMappingURL=encoded.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoded.js","sourceRoot":"","sources":["../../../../src/types/transactions/encoded.ts"],"names":[],"mappings":";AAAA;;GAEG"}
1
+ {"version":3,"file":"encoded.js","sourceRoot":"","sources":["../../../../src/types/transactions/encoded.ts"],"names":[],"mappings":""}
@@ -100,8 +100,12 @@ exports.removeUndefinedProperties = removeUndefinedProperties;
100
100
  * @returns True if Node.js environment, false otherwise
101
101
  */
102
102
  function isNode() {
103
- return (typeof process === 'object' &&
103
+ return (
104
+ // @ts-ignore
105
+ typeof process === 'object' &&
106
+ // @ts-ignore
104
107
  typeof process.versions === 'object' &&
108
+ // @ts-ignore
105
109
  typeof process.versions.node !== 'undefined');
106
110
  }
107
111
  exports.isNode = isNode;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}