@aeternity/aepp-sdk 13.1.0 → 13.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 (159) hide show
  1. package/dist/aepp-sdk.browser-script.js +1 -1
  2. package/dist/aepp-sdk.browser-script.js.map +1 -1
  3. package/dist/aepp-sdk.browser.js +1 -1
  4. package/dist/aepp-sdk.browser.js.map +1 -1
  5. package/dist/aepp-sdk.js +2162 -1566
  6. package/dist/aepp-sdk.js.map +1 -1
  7. package/es/AeSdkAepp.mjs.map +1 -1
  8. package/es/AeSdkBase.d.ts +10 -0
  9. package/es/AeSdkBase.mjs +27 -0
  10. package/es/AeSdkBase.mjs.map +1 -1
  11. package/es/AeSdkMethods.mjs.map +1 -1
  12. package/es/AeSdkWallet.d.ts +1 -1
  13. package/es/AeSdkWallet.mjs +53 -20
  14. package/es/AeSdkWallet.mjs.map +1 -1
  15. package/es/Middleware.mjs.map +1 -1
  16. package/es/MiddlewareSubscriber.mjs +3 -3
  17. package/es/MiddlewareSubscriber.mjs.map +1 -1
  18. package/es/Node.mjs.map +1 -1
  19. package/es/account/Base.d.ts +44 -2
  20. package/es/account/Base.mjs +95 -1
  21. package/es/account/Base.mjs.map +1 -1
  22. package/es/account/Generalized.d.ts +3 -0
  23. package/es/account/Generalized.mjs +15 -0
  24. package/es/account/Generalized.mjs.map +1 -1
  25. package/es/account/Ledger.d.ts +3 -0
  26. package/es/account/Ledger.mjs +15 -0
  27. package/es/account/Ledger.mjs.map +1 -1
  28. package/es/account/LedgerFactory.mjs.map +1 -1
  29. package/es/account/Memory.d.ts +10 -0
  30. package/es/account/Memory.mjs +34 -0
  31. package/es/account/Memory.mjs.map +1 -1
  32. package/es/account/Rpc.d.ts +4 -0
  33. package/es/account/Rpc.mjs +29 -0
  34. package/es/account/Rpc.mjs.map +1 -1
  35. package/es/aens.mjs.map +1 -1
  36. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  37. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  38. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  39. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  40. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  41. package/es/aepp-wallet-communication/rpc/types.d.ts +9 -0
  42. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  43. package/es/aepp-wallet-communication/schema.d.ts +1 -0
  44. package/es/aepp-wallet-communication/schema.mjs +20 -19
  45. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  46. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  47. package/es/apis/compiler/compiler.mjs.map +1 -1
  48. package/es/apis/middleware/middleware.mjs.map +1 -1
  49. package/es/apis/middleware/models/index.mjs +340 -124
  50. package/es/apis/middleware/models/index.mjs.map +1 -1
  51. package/es/apis/node/node.mjs.map +1 -1
  52. package/es/chain.mjs +1 -1
  53. package/es/chain.mjs.map +1 -1
  54. package/es/channel/Base.mjs.map +1 -1
  55. package/es/channel/Contract.mjs.map +1 -1
  56. package/es/channel/Spend.mjs.map +1 -1
  57. package/es/channel/handlers.mjs +2 -2
  58. package/es/channel/handlers.mjs.map +1 -1
  59. package/es/channel/internal.mjs +6 -6
  60. package/es/channel/internal.mjs.map +1 -1
  61. package/es/contract/Contract.mjs +1 -1
  62. package/es/contract/Contract.mjs.map +1 -1
  63. package/es/contract/compiler/Cli.mjs.map +1 -1
  64. package/es/contract/compiler/Http.mjs.map +1 -1
  65. package/es/contract/delegation-signature.d.ts +2 -1
  66. package/es/contract/delegation-signature.mjs +39 -8
  67. package/es/contract/delegation-signature.mjs.map +1 -1
  68. package/es/contract/ga.mjs.map +1 -1
  69. package/es/oracle.mjs.map +1 -1
  70. package/es/spend.d.ts +2 -1
  71. package/es/spend.mjs +4 -2
  72. package/es/spend.mjs.map +1 -1
  73. package/es/tx/builder/constants.mjs +26 -23
  74. package/es/tx/builder/constants.mjs.map +1 -1
  75. package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
  76. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  77. package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
  78. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  79. package/es/tx/builder/field-types/entry.mjs.map +1 -1
  80. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  81. package/es/tx/builder/field-types/field.mjs.map +1 -1
  82. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  83. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  84. package/es/tx/builder/field-types/index.d.ts +28 -150
  85. package/es/tx/builder/field-types/index.mjs +28 -56
  86. package/es/tx/builder/field-types/index.mjs.map +1 -1
  87. package/es/tx/builder/field-types/map.mjs.map +1 -1
  88. package/es/tx/builder/field-types/mptree.mjs +3 -3
  89. package/es/tx/builder/field-types/mptree.mjs.map +1 -1
  90. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  91. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  92. package/es/tx/builder/field-types/string.mjs.map +1 -1
  93. package/es/tx/builder/field-types/ttl.mjs.map +1 -1
  94. package/es/tx/builder/field-types/u-int.mjs +1 -1
  95. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  96. package/es/tx/builder/helpers.mjs.map +1 -1
  97. package/es/tx/builder/index.mjs.map +1 -1
  98. package/es/tx/builder/schema.mjs +11 -10
  99. package/es/tx/builder/schema.mjs.map +1 -1
  100. package/es/tx/execution-cost.mjs.map +1 -1
  101. package/es/tx/transaction-signer.mjs.map +1 -1
  102. package/es/tx/validator.mjs.map +1 -1
  103. package/es/utils/amount-formatter.mjs +7 -7
  104. package/es/utils/amount-formatter.mjs.map +1 -1
  105. package/es/utils/autorest.mjs.map +1 -1
  106. package/es/utils/bignumber.mjs.map +1 -1
  107. package/es/utils/bytes.mjs.map +1 -1
  108. package/es/utils/crypto.mjs.map +1 -1
  109. package/es/utils/encoder-types.mjs +3 -3
  110. package/es/utils/encoder-types.mjs.map +1 -1
  111. package/es/utils/encoder.mjs.map +1 -1
  112. package/es/utils/errors.mjs.map +1 -1
  113. package/es/utils/hd-wallet.mjs.map +1 -1
  114. package/es/utils/keystore.mjs.map +1 -1
  115. package/es/utils/other.mjs.map +1 -1
  116. package/es/utils/semver-satisfies.mjs.map +1 -1
  117. package/es/utils/string.mjs.map +1 -1
  118. package/es/utils/typed-data.mjs +0 -1
  119. package/es/utils/typed-data.mjs.map +1 -1
  120. package/package.json +35 -35
  121. package/src/AeSdkBase.ts +36 -0
  122. package/src/AeSdkWallet.ts +36 -12
  123. package/src/account/Base.ts +84 -3
  124. package/src/account/Generalized.ts +15 -0
  125. package/src/account/Ledger.ts +15 -0
  126. package/src/account/Memory.ts +53 -1
  127. package/src/account/Rpc.ts +35 -0
  128. package/src/aepp-wallet-communication/rpc/types.ts +10 -0
  129. package/src/aepp-wallet-communication/schema.ts +1 -0
  130. package/src/chain.ts +1 -1
  131. package/src/contract/Contract.ts +1 -1
  132. package/src/contract/delegation-signature.ts +37 -11
  133. package/src/spend.ts +2 -2
  134. package/src/tx/builder/field-types/index.ts +28 -58
  135. package/src/tx/builder/field-types/u-int.ts +1 -1
  136. package/types-legacy/ts4.2/AeSdkBase.d.ts +10 -0
  137. package/types-legacy/ts4.2/AeSdkWallet.d.ts +1 -1
  138. package/types-legacy/ts4.2/account/Base.d.ts +44 -2
  139. package/types-legacy/ts4.2/account/Generalized.d.ts +3 -0
  140. package/types-legacy/ts4.2/account/Ledger.d.ts +3 -0
  141. package/types-legacy/ts4.2/account/Memory.d.ts +10 -0
  142. package/types-legacy/ts4.2/account/Rpc.d.ts +4 -0
  143. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +9 -0
  144. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +1 -0
  145. package/types-legacy/ts4.2/contract/delegation-signature.d.ts +2 -1
  146. package/types-legacy/ts4.2/spend.d.ts +2 -1
  147. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +28 -153
  148. package/types-legacy/ts4.5/AeSdkBase.d.ts +10 -0
  149. package/types-legacy/ts4.5/AeSdkWallet.d.ts +1 -1
  150. package/types-legacy/ts4.5/account/Base.d.ts +44 -2
  151. package/types-legacy/ts4.5/account/Generalized.d.ts +3 -0
  152. package/types-legacy/ts4.5/account/Ledger.d.ts +3 -0
  153. package/types-legacy/ts4.5/account/Memory.d.ts +10 -0
  154. package/types-legacy/ts4.5/account/Rpc.d.ts +4 -0
  155. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +9 -0
  156. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +1 -0
  157. package/types-legacy/ts4.5/contract/delegation-signature.d.ts +2 -1
  158. package/types-legacy/ts4.5/spend.d.ts +2 -1
  159. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +28 -153
package/es/spend.d.ts CHANGED
@@ -34,7 +34,8 @@ interface SpendOptions extends SpendOptionsType {
34
34
  * console.log('Transaction mined at', blockHeight);
35
35
  * ```
36
36
  */
37
- export declare function transferFunds(fraction: number | string, recipientIdOrName: AensName | Encoded.AccountAddress, options: TransferFundsOptions): ReturnType<typeof sendTransaction>;
37
+ export declare function transferFunds(fraction: number | string, // TODO: accept only number
38
+ recipientIdOrName: AensName | Encoded.AccountAddress, options: TransferFundsOptions): ReturnType<typeof sendTransaction>;
38
39
  type TransferFundsOptionsType = BuildTxOptions<Tag.SpendTx, 'senderId' | 'recipientId' | 'amount'> & Parameters<typeof resolveName>[2] & {
39
40
  onAccount: AccountBase;
40
41
  } & SendTransactionOptions;
package/es/spend.mjs CHANGED
@@ -38,8 +38,10 @@ export async function spend(amount, recipientIdOrName, options) {
38
38
  * console.log('Transaction mined at', blockHeight);
39
39
  * ```
40
40
  */
41
- export async function transferFunds(fraction, recipientIdOrName, options) {
42
- if (fraction < 0 || fraction > 1) {
41
+ export async function transferFunds(fraction,
42
+ // TODO: accept only number
43
+ recipientIdOrName, options) {
44
+ if (+fraction < 0 || +fraction > 1) {
43
45
  throw new ArgumentError('fraction', 'a number between 0 and 1', fraction);
44
46
  }
45
47
  const recipientId = await resolveName(recipientIdOrName, 'account_pubkey', options);
package/es/spend.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"spend.mjs","names":["BigNumber","sendTransaction","getBalance","resolveName","buildTxAsync","unpackTx","ArgumentError","Tag","spend","amount","recipientIdOrName","options","tag","SpendTx","senderId","onAccount","address","recipientId","transferFunds","fraction","balance","bind","desiredAmount","times","integerValue","ROUND_HALF_UP","fee","plus","gt","minus","payForTransaction","transaction","PayingForTx","payerId","tx"],"sources":["../src/spend.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport {\n sendTransaction, getBalance, resolveName, SendTransactionOptions,\n} from './chain';\nimport { buildTxAsync, BuildTxOptions, unpackTx } from './tx/builder';\nimport { ArgumentError } from './utils/errors';\nimport { Encoded, Encoding } from './utils/encoder';\nimport { Tag, AensName } from './tx/builder/constants';\nimport AccountBase from './account/Base';\n\n/**\n * Send coins to another account\n * @category chain\n * @param amount - Amount to spend\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @returns Transaction\n */\nexport async function spend(\n amount: number | string,\n recipientIdOrName: Encoded.AccountAddress | AensName,\n options: SpendOptions,\n): ReturnType<typeof sendTransaction> {\n return sendTransaction(\n await buildTxAsync({\n ...options,\n tag: Tag.SpendTx,\n senderId: options.onAccount.address,\n recipientId: await resolveName<Encoding.AccountAddress>(\n recipientIdOrName,\n 'account_pubkey',\n options,\n ),\n amount,\n }),\n options,\n );\n}\n\ntype SpendOptionsType = BuildTxOptions<Tag.SpendTx, 'senderId' | 'recipientId' | 'amount'>\n& Parameters<typeof resolveName>[2] & { onAccount: AccountBase } & SendTransactionOptions;\ninterface SpendOptions extends SpendOptionsType {}\n\n// TODO: Rename to spendFraction\n/**\n * Spend a fraction of coin balance to another account. Useful if needed to drain account balance\n * completely, sending funds to another account (with fraction set to 1).\n * @category chain\n * @param fraction - Fraction of balance to spend (between 0 and 1)\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @example\n * ```js\n * // `fraction` * 100 = % of AE to be transferred (e.g. `0.42` for 42% or `1` for 100%)\n * const { blockHeight } = await aeSdk.transferFunds(\n * 0.42,\n * 'ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E',\n * );\n * console.log('Transaction mined at', blockHeight);\n * ```\n */\nexport async function transferFunds(\n fraction: number | string,\n recipientIdOrName: AensName | Encoded.AccountAddress,\n options: TransferFundsOptions,\n): ReturnType<typeof sendTransaction> {\n if (fraction < 0 || fraction > 1) {\n throw new ArgumentError('fraction', 'a number between 0 and 1', fraction);\n }\n const recipientId = await resolveName<Encoding.AccountAddress>(\n recipientIdOrName,\n 'account_pubkey',\n options,\n );\n const senderId = options.onAccount.address;\n const balance = new BigNumber(\n await getBalance.bind(options.onAccount)(senderId, options),\n );\n const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP);\n const { fee } = unpackTx(\n await buildTxAsync({\n ...options, tag: Tag.SpendTx, senderId, recipientId, amount: desiredAmount,\n }),\n Tag.SpendTx,\n );\n // Reducing of the amount may reduce transaction fee, so this is not completely accurate\n const amount = desiredAmount.plus(fee).gt(balance) ? balance.minus(fee) : desiredAmount;\n return sendTransaction(\n await buildTxAsync({\n ...options, tag: Tag.SpendTx, senderId, recipientId, amount,\n }),\n options,\n );\n}\n\ntype TransferFundsOptionsType = BuildTxOptions<Tag.SpendTx, 'senderId' | 'recipientId' | 'amount'>\n& Parameters<typeof resolveName>[2] & { onAccount: AccountBase } & SendTransactionOptions;\ninterface TransferFundsOptions extends TransferFundsOptionsType {}\n\n/**\n * Submit transaction of another account paying for it (fee and gas)\n * @category chain\n * @param transaction - tx_<base64>-encoded transaction\n * @param options - Options\n * @returns Object Transaction\n */\nexport async function payForTransaction(\n transaction: Encoded.Transaction,\n options: PayForTransactionOptions,\n): ReturnType<typeof sendTransaction> {\n return sendTransaction(\n await buildTxAsync({\n ...options, tag: Tag.PayingForTx, payerId: options.onAccount.address, tx: transaction,\n }),\n options,\n );\n}\n\ninterface PayForTransactionOptions extends\n BuildTxOptions<Tag.PayingForTx, 'payerId' | 'tx' | 'onNode'>, SendTransactionOptions {\n onAccount: AccountBase;\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,cAAc;AAAC,SAEnCC,eAAe,EAAEC,UAAU,EAAEC,WAAW;AAAA,SAEjCC,YAAY,EAAkBC,QAAQ;AAAA,SACtCC,aAAa;AAAA,SAEbC,GAAG;AAGZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,KAAKA,CACzBC,MAAuB,EACvBC,iBAAoD,EACpDC,OAAqB,EACe;EACpC,OAAOV,eAAe,CACpB,MAAMG,YAAY,CAAC;IACjB,GAAGO,OAAO;IACVC,GAAG,EAAEL,GAAG,CAACM,OAAO;IAChBC,QAAQ,EAAEH,OAAO,CAACI,SAAS,CAACC,OAAO;IACnCC,WAAW,EAAE,MAAMd,WAAW,CAC5BO,iBAAiB,EACjB,gBAAgB,EAChBC,OAAO,CACR;IACDF;EACF,CAAC,CAAC,EACFE,OAAO,CACR;AACH;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeO,aAAaA,CACjCC,QAAyB,EACzBT,iBAAoD,EACpDC,OAA6B,EACO;EACpC,IAAIQ,QAAQ,GAAG,CAAC,IAAIA,QAAQ,GAAG,CAAC,EAAE;IAChC,MAAM,IAAIb,aAAa,CAAC,UAAU,EAAE,0BAA0B,EAAEa,QAAQ,CAAC;EAC3E;EACA,MAAMF,WAAW,GAAG,MAAMd,WAAW,CACnCO,iBAAiB,EACjB,gBAAgB,EAChBC,OAAO,CACR;EACD,MAAMG,QAAQ,GAAGH,OAAO,CAACI,SAAS,CAACC,OAAO;EAC1C,MAAMI,OAAO,GAAG,IAAIpB,SAAS,CAC3B,MAAME,UAAU,CAACmB,IAAI,CAACV,OAAO,CAACI,SAAS,CAAC,CAACD,QAAQ,EAAEH,OAAO,CAAC,CAC5D;EACD,MAAMW,aAAa,GAAGF,OAAO,CAACG,KAAK,CAACJ,QAAQ,CAAC,CAACK,YAAY,CAACxB,SAAS,CAACyB,aAAa,CAAC;EACnF,MAAM;IAAEC;EAAI,CAAC,GAAGrB,QAAQ,CACtB,MAAMD,YAAY,CAAC;IACjB,GAAGO,OAAO;IAAEC,GAAG,EAAEL,GAAG,CAACM,OAAO;IAAEC,QAAQ;IAAEG,WAAW;IAAER,MAAM,EAAEa;EAC/D,CAAC,CAAC,EACFf,GAAG,CAACM,OAAO,CACZ;EACD;EACA,MAAMJ,MAAM,GAAGa,aAAa,CAACK,IAAI,CAACD,GAAG,CAAC,CAACE,EAAE,CAACR,OAAO,CAAC,GAAGA,OAAO,CAACS,KAAK,CAACH,GAAG,CAAC,GAAGJ,aAAa;EACvF,OAAOrB,eAAe,CACpB,MAAMG,YAAY,CAAC;IACjB,GAAGO,OAAO;IAAEC,GAAG,EAAEL,GAAG,CAACM,OAAO;IAAEC,QAAQ;IAAEG,WAAW;IAAER;EACvD,CAAC,CAAC,EACFE,OAAO,CACR;AACH;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAemB,iBAAiBA,CACrCC,WAAgC,EAChCpB,OAAiC,EACG;EACpC,OAAOV,eAAe,CACpB,MAAMG,YAAY,CAAC;IACjB,GAAGO,OAAO;IAAEC,GAAG,EAAEL,GAAG,CAACyB,WAAW;IAAEC,OAAO,EAAEtB,OAAO,CAACI,SAAS,CAACC,OAAO;IAAEkB,EAAE,EAAEH;EAC5E,CAAC,CAAC,EACFpB,OAAO,CACR;AACH"}
1
+ {"version":3,"file":"spend.mjs","names":["BigNumber","sendTransaction","getBalance","resolveName","buildTxAsync","unpackTx","ArgumentError","Tag","spend","amount","recipientIdOrName","options","tag","SpendTx","senderId","onAccount","address","recipientId","transferFunds","fraction","balance","bind","desiredAmount","times","integerValue","ROUND_HALF_UP","fee","plus","gt","minus","payForTransaction","transaction","PayingForTx","payerId","tx"],"sources":["../src/spend.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport {\n sendTransaction, getBalance, resolveName, SendTransactionOptions,\n} from './chain';\nimport { buildTxAsync, BuildTxOptions, unpackTx } from './tx/builder';\nimport { ArgumentError } from './utils/errors';\nimport { Encoded, Encoding } from './utils/encoder';\nimport { Tag, AensName } from './tx/builder/constants';\nimport AccountBase from './account/Base';\n\n/**\n * Send coins to another account\n * @category chain\n * @param amount - Amount to spend\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @returns Transaction\n */\nexport async function spend(\n amount: number | string,\n recipientIdOrName: Encoded.AccountAddress | AensName,\n options: SpendOptions,\n): ReturnType<typeof sendTransaction> {\n return sendTransaction(\n await buildTxAsync({\n ...options,\n tag: Tag.SpendTx,\n senderId: options.onAccount.address,\n recipientId: await resolveName<Encoding.AccountAddress>(\n recipientIdOrName,\n 'account_pubkey',\n options,\n ),\n amount,\n }),\n options,\n );\n}\n\ntype SpendOptionsType = BuildTxOptions<Tag.SpendTx, 'senderId' | 'recipientId' | 'amount'>\n& Parameters<typeof resolveName>[2] & { onAccount: AccountBase } & SendTransactionOptions;\ninterface SpendOptions extends SpendOptionsType {}\n\n// TODO: Rename to spendFraction\n/**\n * Spend a fraction of coin balance to another account. Useful if needed to drain account balance\n * completely, sending funds to another account (with fraction set to 1).\n * @category chain\n * @param fraction - Fraction of balance to spend (between 0 and 1)\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @example\n * ```js\n * // `fraction` * 100 = % of AE to be transferred (e.g. `0.42` for 42% or `1` for 100%)\n * const { blockHeight } = await aeSdk.transferFunds(\n * 0.42,\n * 'ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E',\n * );\n * console.log('Transaction mined at', blockHeight);\n * ```\n */\nexport async function transferFunds(\n fraction: number | string, // TODO: accept only number\n recipientIdOrName: AensName | Encoded.AccountAddress,\n options: TransferFundsOptions,\n): ReturnType<typeof sendTransaction> {\n if (+fraction < 0 || +fraction > 1) {\n throw new ArgumentError('fraction', 'a number between 0 and 1', fraction);\n }\n const recipientId = await resolveName<Encoding.AccountAddress>(\n recipientIdOrName,\n 'account_pubkey',\n options,\n );\n const senderId = options.onAccount.address;\n const balance = new BigNumber(\n await getBalance.bind(options.onAccount)(senderId, options),\n );\n const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP);\n const { fee } = unpackTx(\n await buildTxAsync({\n ...options, tag: Tag.SpendTx, senderId, recipientId, amount: desiredAmount,\n }),\n Tag.SpendTx,\n );\n // Reducing of the amount may reduce transaction fee, so this is not completely accurate\n const amount = desiredAmount.plus(fee).gt(balance) ? balance.minus(fee) : desiredAmount;\n return sendTransaction(\n await buildTxAsync({\n ...options, tag: Tag.SpendTx, senderId, recipientId, amount,\n }),\n options,\n );\n}\n\ntype TransferFundsOptionsType = BuildTxOptions<Tag.SpendTx, 'senderId' | 'recipientId' | 'amount'>\n& Parameters<typeof resolveName>[2] & { onAccount: AccountBase } & SendTransactionOptions;\ninterface TransferFundsOptions extends TransferFundsOptionsType {}\n\n/**\n * Submit transaction of another account paying for it (fee and gas)\n * @category chain\n * @param transaction - tx_<base64>-encoded transaction\n * @param options - Options\n * @returns Object Transaction\n */\nexport async function payForTransaction(\n transaction: Encoded.Transaction,\n options: PayForTransactionOptions,\n): ReturnType<typeof sendTransaction> {\n return sendTransaction(\n await buildTxAsync({\n ...options, tag: Tag.PayingForTx, payerId: options.onAccount.address, tx: transaction,\n }),\n options,\n );\n}\n\ninterface PayForTransactionOptions extends\n BuildTxOptions<Tag.PayingForTx, 'payerId' | 'tx' | 'onNode'>, SendTransactionOptions {\n onAccount: AccountBase;\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,cAAc;AAAC,SAEnCC,eAAe,EAAEC,UAAU,EAAEC,WAAW;AAAA,SAEjCC,YAAY,EAAkBC,QAAQ;AAAA,SACtCC,aAAa;AAAA,SAEbC,GAAG;AAGZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,KAAKA,CACzBC,MAAuB,EACvBC,iBAAoD,EACpDC,OAAqB,EACe;EACpC,OAAOV,eAAe,CACpB,MAAMG,YAAY,CAAC;IACjB,GAAGO,OAAO;IACVC,GAAG,EAAEL,GAAG,CAACM,OAAO;IAChBC,QAAQ,EAAEH,OAAO,CAACI,SAAS,CAACC,OAAO;IACnCC,WAAW,EAAE,MAAMd,WAAW,CAC5BO,iBAAiB,EACjB,gBAAgB,EAChBC,OACF,CAAC;IACDF;EACF,CAAC,CAAC,EACFE,OACF,CAAC;AACH;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeO,aAAaA,CACjCC,QAAyB;AAAE;AAC3BT,iBAAoD,EACpDC,OAA6B,EACO;EACpC,IAAI,CAACQ,QAAQ,GAAG,CAAC,IAAI,CAACA,QAAQ,GAAG,CAAC,EAAE;IAClC,MAAM,IAAIb,aAAa,CAAC,UAAU,EAAE,0BAA0B,EAAEa,QAAQ,CAAC;EAC3E;EACA,MAAMF,WAAW,GAAG,MAAMd,WAAW,CACnCO,iBAAiB,EACjB,gBAAgB,EAChBC,OACF,CAAC;EACD,MAAMG,QAAQ,GAAGH,OAAO,CAACI,SAAS,CAACC,OAAO;EAC1C,MAAMI,OAAO,GAAG,IAAIpB,SAAS,CAC3B,MAAME,UAAU,CAACmB,IAAI,CAACV,OAAO,CAACI,SAAS,CAAC,CAACD,QAAQ,EAAEH,OAAO,CAC5D,CAAC;EACD,MAAMW,aAAa,GAAGF,OAAO,CAACG,KAAK,CAACJ,QAAQ,CAAC,CAACK,YAAY,CAACxB,SAAS,CAACyB,aAAa,CAAC;EACnF,MAAM;IAAEC;EAAI,CAAC,GAAGrB,QAAQ,CACtB,MAAMD,YAAY,CAAC;IACjB,GAAGO,OAAO;IAAEC,GAAG,EAAEL,GAAG,CAACM,OAAO;IAAEC,QAAQ;IAAEG,WAAW;IAAER,MAAM,EAAEa;EAC/D,CAAC,CAAC,EACFf,GAAG,CAACM,OACN,CAAC;EACD;EACA,MAAMJ,MAAM,GAAGa,aAAa,CAACK,IAAI,CAACD,GAAG,CAAC,CAACE,EAAE,CAACR,OAAO,CAAC,GAAGA,OAAO,CAACS,KAAK,CAACH,GAAG,CAAC,GAAGJ,aAAa;EACvF,OAAOrB,eAAe,CACpB,MAAMG,YAAY,CAAC;IACjB,GAAGO,OAAO;IAAEC,GAAG,EAAEL,GAAG,CAACM,OAAO;IAAEC,QAAQ;IAAEG,WAAW;IAAER;EACvD,CAAC,CAAC,EACFE,OACF,CAAC;AACH;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAemB,iBAAiBA,CACrCC,WAAgC,EAChCpB,OAAiC,EACG;EACpC,OAAOV,eAAe,CACpB,MAAMG,YAAY,CAAC;IACjB,GAAGO,OAAO;IAAEC,GAAG,EAAEL,GAAG,CAACyB,WAAW;IAAEC,OAAO,EAAEtB,OAAO,CAACI,SAAS,CAACC,OAAO;IAAEkB,EAAE,EAAEH;EAC5E,CAAC,CAAC,EACFpB,OACF,CAAC;AACH"}
@@ -1,6 +1,9 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { mapObject } from "../../utils/other.mjs";
3
3
  export const MAX_AUTH_FUN_GAS = 50000;
4
+
5
+ // # AENS
6
+
4
7
  export const NAME_TTL = 180000;
5
8
  // # max number of block into the future that the name is going to be available
6
9
  // # https://github.com/aeternity/protocol/blob/epoch-v0.22.0/AENS.md#update
@@ -55,23 +58,17 @@ export const NAME_BID_RANGES = mapObject({
55
58
  let [key, value] = _ref;
56
59
  return [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)];
57
60
  });
58
- export let ConsensusProtocolVersion;
59
-
60
- /**
61
- * @category transaction builder
62
- * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
63
- */
64
- (function (ConsensusProtocolVersion) {
61
+ export let ConsensusProtocolVersion = /*#__PURE__*/function (ConsensusProtocolVersion) {
65
62
  ConsensusProtocolVersion[ConsensusProtocolVersion["Iris"] = 5] = "Iris";
66
63
  ConsensusProtocolVersion[ConsensusProtocolVersion["Ceres"] = 6] = "Ceres";
67
- })(ConsensusProtocolVersion || (ConsensusProtocolVersion = {}));
68
- export let VmVersion;
64
+ return ConsensusProtocolVersion;
65
+ }({});
69
66
 
70
67
  /**
71
68
  * @category transaction builder
72
69
  * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
73
70
  */
74
- (function (VmVersion) {
71
+ export let VmVersion = /*#__PURE__*/function (VmVersion) {
75
72
  VmVersion[VmVersion["NoVm"] = 0] = "NoVm";
76
73
  VmVersion[VmVersion["Sophia"] = 1] = "Sophia";
77
74
  VmVersion[VmVersion["SophiaImprovementsMinerva"] = 3] = "SophiaImprovementsMinerva";
@@ -79,8 +76,19 @@ export let VmVersion;
79
76
  VmVersion[VmVersion["Fate"] = 5] = "Fate";
80
77
  VmVersion[VmVersion["SophiaImprovementsLima"] = 6] = "SophiaImprovementsLima";
81
78
  VmVersion[VmVersion["Fate2"] = 7] = "Fate2";
82
- })(VmVersion || (VmVersion = {}));
83
- export let AbiVersion;
79
+ return VmVersion;
80
+ }({});
81
+
82
+ /**
83
+ * @category transaction builder
84
+ * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
85
+ */
86
+ export let AbiVersion = /*#__PURE__*/function (AbiVersion) {
87
+ AbiVersion[AbiVersion["NoAbi"] = 0] = "NoAbi";
88
+ AbiVersion[AbiVersion["Sophia"] = 1] = "Sophia";
89
+ AbiVersion[AbiVersion["Fate"] = 3] = "Fate";
90
+ return AbiVersion;
91
+ }({});
84
92
 
85
93
  /**
86
94
  * Enum with tag types
@@ -89,16 +97,7 @@ export let AbiVersion;
89
97
  * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_chain_objects.erl#L39-L97}
90
98
  */
91
99
  // TODO: implement serialisation for commented-out tags
92
- (function (AbiVersion) {
93
- AbiVersion[AbiVersion["NoAbi"] = 0] = "NoAbi";
94
- AbiVersion[AbiVersion["Sophia"] = 1] = "Sophia";
95
- AbiVersion[AbiVersion["Fate"] = 3] = "Fate";
96
- })(AbiVersion || (AbiVersion = {}));
97
- export let Tag; // KeyBlock = 100,
98
- // MicroBlock = 101,
99
- // LightMicroBlock = 102,
100
- // Pof = 200,
101
- (function (Tag) {
100
+ export let Tag = /*#__PURE__*/function (Tag) {
102
101
  Tag[Tag["Account"] = 10] = "Account";
103
102
  Tag[Tag["SignedTx"] = 11] = "SignedTx";
104
103
  Tag[Tag["SpendTx"] = 12] = "SpendTx";
@@ -148,5 +147,9 @@ export let Tag; // KeyBlock = 100,
148
147
  Tag[Tag["GaMetaTx"] = 81] = "GaMetaTx";
149
148
  Tag[Tag["PayingForTx"] = 82] = "PayingForTx";
150
149
  Tag[Tag["GaMetaTxAuthData"] = 810] = "GaMetaTxAuthData";
151
- })(Tag || (Tag = {}));
150
+ return Tag;
151
+ }({}); // KeyBlock = 100,
152
+ // MicroBlock = 101,
153
+ // LightMicroBlock = 102,
154
+ // Pof = 200,
152
155
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","names":["BigNumber","mapObject","MAX_AUTH_FUN_GAS","NAME_TTL","NAME_MAX_TTL","NAME_MAX_CLIENT_TTL","CLIENT_TTL","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","_ref","key","value","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag"],"sources":["../../../src/tx/builder/constants.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { mapObject } from '../../utils/other';\n\nexport const MAX_AUTH_FUN_GAS = 50000;\nexport type Int = number | string | BigNumber;\n// # AENS\nexport type AensName = `${string}.chain`;\nexport const NAME_TTL = 180000;\n// # max number of block into the future that the name is going to be available\n// # https://github.com/aeternity/protocol/blob/epoch-v0.22.0/AENS.md#update\n// # https://github.com/aeternity/protocol/blob/44a93d3aab957ca820183c3520b9daf6b0fedff4/AENS.md#aens-entry\nexport const NAME_MAX_TTL = 36000;\nexport const NAME_MAX_CLIENT_TTL = 84600;\nexport const CLIENT_TTL = NAME_MAX_CLIENT_TTL;\nexport const MIN_GAS_PRICE = 1e9;\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67\nexport const NAME_FEE_MULTIPLIER = 1e14; // 100000000000000\nexport const NAME_FEE_BID_INCREMENT = 0.05; // # the increment is in percentage\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272\nexport const NAME_BID_TIMEOUT_BLOCKS = 480; // # ~1 day\n// # this is the max length for a domain that requires a base fee to be paid\nexport const NAME_MAX_LENGTH_FEE = 31;\n// # https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290\n// # https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times\n// # bid ranges:\nexport const NAME_BID_RANGES = mapObject({\n 31: 3,\n 30: 5,\n 29: 8,\n 28: 13,\n 27: 21,\n 26: 34,\n 25: 55,\n 24: 89,\n 23: 144,\n 22: 233,\n 21: 377,\n 20: 610,\n 19: 987,\n 18: 1597,\n 17: 2584,\n 16: 4181,\n 15: 6765,\n 14: 10946,\n 13: 17711,\n 12: 28657,\n 11: 46368,\n 10: 75025,\n 9: 121393,\n 8: 196418,\n 7: 317811,\n 6: 514229,\n 5: 832040,\n 4: 1346269,\n 3: 2178309,\n 2: 3524578,\n 1: 5702887,\n}, ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)]);\n\nexport enum ConsensusProtocolVersion {\n Iris = 5,\n Ceres = 6,\n}\n\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VmVersion {\n NoVm = 0,\n Sophia = 1,\n SophiaImprovementsMinerva = 3,\n SophiaImprovementsFortuna = 4,\n Fate = 5,\n SophiaImprovementsLima = 6,\n Fate2 = 7,\n}\n\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum AbiVersion {\n NoAbi = 0,\n Sophia = 1,\n Fate = 3,\n}\n\n/**\n * Enum with tag types\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_chain_objects.erl#L39-L97}\n */\n// TODO: implement serialisation for commented-out tags\nexport enum Tag {\n Account = 10,\n SignedTx = 11,\n SpendTx = 12,\n Oracle = 20,\n // OracleQuery = 21,\n OracleRegisterTx = 22,\n OracleQueryTx = 23,\n OracleResponseTx = 24,\n OracleExtendTx = 25,\n Name = 30,\n // NameCommitment = 31,\n NameClaimTx = 32,\n NamePreclaimTx = 33,\n NameUpdateTx = 34,\n NameRevokeTx = 35,\n NameTransferTx = 36,\n // NameAuction = 37,\n Contract = 40,\n ContractCall = 41,\n ContractCreateTx = 42,\n ContractCallTx = 43,\n ChannelCreateTx = 50,\n // ChannelSetDelegatesTx = 501,\n ChannelDepositTx = 51,\n ChannelWithdrawTx = 52,\n ChannelForceProgressTx = 521,\n ChannelCloseMutualTx = 53,\n ChannelCloseSoloTx = 54,\n ChannelSlashTx = 55,\n ChannelSettleTx = 56,\n ChannelOffChainTx = 57,\n ChannelOffChainUpdateTransfer = 570,\n ChannelOffChainUpdateDeposit = 571,\n ChannelOffChainUpdateWithdraw = 572,\n ChannelOffChainUpdateCreateContract = 573,\n ChannelOffChainUpdateCallContract = 574,\n // ChannelOffChainUpdateMeta = 576,\n ChannelClientReconnectTx = 575,\n Channel = 58,\n ChannelSnapshotSoloTx = 59,\n TreesPoi = 60,\n // TreesDb = 61,\n StateTrees = 62,\n Mtree = 63,\n MtreeValue = 64,\n ContractsMtree = 621,\n CallsMtree = 622,\n ChannelsMtree = 623,\n NameserviceMtree = 624,\n OraclesMtree = 625,\n AccountsMtree = 626,\n // CompilerSophia = 70,\n GaAttachTx = 80,\n GaMetaTx = 81,\n PayingForTx = 82,\n GaMetaTxAuthData = 810,\n // KeyBlock = 100,\n // MicroBlock = 101,\n // LightMicroBlock = 102,\n // Pof = 200,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"constants.mjs","names":["BigNumber","mapObject","MAX_AUTH_FUN_GAS","NAME_TTL","NAME_MAX_TTL","NAME_MAX_CLIENT_TTL","CLIENT_TTL","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","_ref","key","value","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag"],"sources":["../../../src/tx/builder/constants.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { mapObject } from '../../utils/other';\n\nexport const MAX_AUTH_FUN_GAS = 50000;\nexport type Int = number | string | BigNumber;\n// # AENS\nexport type AensName = `${string}.chain`;\nexport const NAME_TTL = 180000;\n// # max number of block into the future that the name is going to be available\n// # https://github.com/aeternity/protocol/blob/epoch-v0.22.0/AENS.md#update\n// # https://github.com/aeternity/protocol/blob/44a93d3aab957ca820183c3520b9daf6b0fedff4/AENS.md#aens-entry\nexport const NAME_MAX_TTL = 36000;\nexport const NAME_MAX_CLIENT_TTL = 84600;\nexport const CLIENT_TTL = NAME_MAX_CLIENT_TTL;\nexport const MIN_GAS_PRICE = 1e9;\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67\nexport const NAME_FEE_MULTIPLIER = 1e14; // 100000000000000\nexport const NAME_FEE_BID_INCREMENT = 0.05; // # the increment is in percentage\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272\nexport const NAME_BID_TIMEOUT_BLOCKS = 480; // # ~1 day\n// # this is the max length for a domain that requires a base fee to be paid\nexport const NAME_MAX_LENGTH_FEE = 31;\n// # https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290\n// # https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times\n// # bid ranges:\nexport const NAME_BID_RANGES = mapObject({\n 31: 3,\n 30: 5,\n 29: 8,\n 28: 13,\n 27: 21,\n 26: 34,\n 25: 55,\n 24: 89,\n 23: 144,\n 22: 233,\n 21: 377,\n 20: 610,\n 19: 987,\n 18: 1597,\n 17: 2584,\n 16: 4181,\n 15: 6765,\n 14: 10946,\n 13: 17711,\n 12: 28657,\n 11: 46368,\n 10: 75025,\n 9: 121393,\n 8: 196418,\n 7: 317811,\n 6: 514229,\n 5: 832040,\n 4: 1346269,\n 3: 2178309,\n 2: 3524578,\n 1: 5702887,\n}, ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)]);\n\nexport enum ConsensusProtocolVersion {\n Iris = 5,\n Ceres = 6,\n}\n\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VmVersion {\n NoVm = 0,\n Sophia = 1,\n SophiaImprovementsMinerva = 3,\n SophiaImprovementsFortuna = 4,\n Fate = 5,\n SophiaImprovementsLima = 6,\n Fate2 = 7,\n}\n\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum AbiVersion {\n NoAbi = 0,\n Sophia = 1,\n Fate = 3,\n}\n\n/**\n * Enum with tag types\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_chain_objects.erl#L39-L97}\n */\n// TODO: implement serialisation for commented-out tags\nexport enum Tag {\n Account = 10,\n SignedTx = 11,\n SpendTx = 12,\n Oracle = 20,\n // OracleQuery = 21,\n OracleRegisterTx = 22,\n OracleQueryTx = 23,\n OracleResponseTx = 24,\n OracleExtendTx = 25,\n Name = 30,\n // NameCommitment = 31,\n NameClaimTx = 32,\n NamePreclaimTx = 33,\n NameUpdateTx = 34,\n NameRevokeTx = 35,\n NameTransferTx = 36,\n // NameAuction = 37,\n Contract = 40,\n ContractCall = 41,\n ContractCreateTx = 42,\n ContractCallTx = 43,\n ChannelCreateTx = 50,\n // ChannelSetDelegatesTx = 501,\n ChannelDepositTx = 51,\n ChannelWithdrawTx = 52,\n ChannelForceProgressTx = 521,\n ChannelCloseMutualTx = 53,\n ChannelCloseSoloTx = 54,\n ChannelSlashTx = 55,\n ChannelSettleTx = 56,\n ChannelOffChainTx = 57,\n ChannelOffChainUpdateTransfer = 570,\n ChannelOffChainUpdateDeposit = 571,\n ChannelOffChainUpdateWithdraw = 572,\n ChannelOffChainUpdateCreateContract = 573,\n ChannelOffChainUpdateCallContract = 574,\n // ChannelOffChainUpdateMeta = 576,\n ChannelClientReconnectTx = 575,\n Channel = 58,\n ChannelSnapshotSoloTx = 59,\n TreesPoi = 60,\n // TreesDb = 61,\n StateTrees = 62,\n Mtree = 63,\n MtreeValue = 64,\n ContractsMtree = 621,\n CallsMtree = 622,\n ChannelsMtree = 623,\n NameserviceMtree = 624,\n OraclesMtree = 625,\n AccountsMtree = 626,\n // CompilerSophia = 70,\n GaAttachTx = 80,\n GaMetaTx = 81,\n PayingForTx = 82,\n GaMetaTxAuthData = 810,\n // KeyBlock = 100,\n // MicroBlock = 101,\n // LightMicroBlock = 102,\n // Pof = 200,\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"abi-version.mjs","names":["Tag","ConsensusProtocolVersion","getProtocolDetails","_getProtocolDetails","c","tag","kind","ContractCallTx","GaMetaTx","abiVersion","serialize","value","_ref","_ref2","consensusProtocolVersion","Iris","result","_Buffer","from","prepare","_ref3","options","undefined","Object","keys","length","onNode","getNodeInfo","deserialize","buffer"],"sources":["../../../../src/tx/builder/field-types/abi-version.ts"],"sourcesContent":["import { Tag, ConsensusProtocolVersion, AbiVersion } from '../constants';\nimport { getProtocolDetails } from './ct-version';\nimport Node from '../../../Node';\n\nexport default {\n _getProtocolDetails(c: ConsensusProtocolVersion, tag: Tag): AbiVersion {\n const kind = Tag.ContractCallTx === tag || Tag.GaMetaTx === tag\n ? 'contract-call' : 'oracle-call';\n return getProtocolDetails(c, kind).abiVersion;\n },\n\n serialize(\n value: AbiVersion | undefined,\n { tag }: { tag: Tag },\n { consensusProtocolVersion = ConsensusProtocolVersion.Iris }:\n { consensusProtocolVersion?: ConsensusProtocolVersion },\n ): Buffer {\n const result = value ?? this._getProtocolDetails(consensusProtocolVersion, tag);\n\n return Buffer.from([result]);\n },\n\n async prepare(\n value: AbiVersion | undefined,\n { tag }: { tag: Tag },\n // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n ): Promise<AbiVersion | undefined> {\n if (value != null) return value;\n if (options.consensusProtocolVersion != null) return undefined;\n if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n if (options.onNode != null) {\n return this._getProtocolDetails(\n (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n tag,\n );\n }\n return undefined;\n },\n\n deserialize(buffer: Buffer): AbiVersion {\n return buffer[0];\n },\n};\n"],"mappings":";;;;SAASA,GAAG,EAAEC,wBAAwB;AAAA,SAC7BC,kBAAkB;AAG3B,eAAe;EACbC,mBAAmBA,CAACC,CAA2B,EAAEC,GAAQ,EAAc;IACrE,MAAMC,IAAI,GAAGN,GAAG,CAACO,cAAc,KAAKF,GAAG,IAAIL,GAAG,CAACQ,QAAQ,KAAKH,GAAG,GAC3D,eAAe,GAAG,aAAa;IACnC,OAAOH,kBAAkB,CAACE,CAAC,EAAEE,IAAI,CAAC,CAACG,UAAU;EAC/C,CAAC;EAEDC,SAASA,CACPC,KAA6B,EAAAC,IAAA,EAAAC,KAAA,EAIrB;IAAA,IAHR;MAAER;IAAkB,CAAC,GAAAO,IAAA;IAAA,IACrB;MAAEE,wBAAwB,GAAGb,wBAAwB,CAACc;IACA,CAAC,GAAAF,KAAA;IAEvD,MAAMG,MAAM,GAAGL,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,IAAI,CAACR,mBAAmB,CAACW,wBAAwB,EAAET,GAAG,CAAC;IAE/E,OAAOY,OAAA,CAAOC,IAAI,CAAC,CAACF,MAAM,CAAC,CAAC;EAC9B,CAAC;EAED,MAAMG,OAAOA,CACXR,KAA6B,EAAAS,KAAA;EAE7B;EACAC,OAA+E,EAC9C;IAAA,IAHjC;MAAEhB;IAAkB,CAAC,GAAAe,KAAA;IAIrB,IAAIT,KAAK,IAAI,IAAI,EAAE,OAAOA,KAAK;IAC/B,IAAIU,OAAO,CAACP,wBAAwB,IAAI,IAAI,EAAE,OAAOQ,SAAS;IAC9D,IAAIC,MAAM,CAACC,IAAI,CAACvB,wBAAwB,CAAC,CAACwB,MAAM,KAAK,CAAC,EAAE,OAAOH,SAAS;IACxE,IAAID,OAAO,CAACK,MAAM,IAAI,IAAI,EAAE;MAC1B,OAAO,IAAI,CAACvB,mBAAmB,CAC7B,CAAC,MAAMkB,OAAO,CAACK,MAAM,CAACC,WAAW,EAAE,EAAEb,wBAAwB,EAC7DT,GAAG,CACJ;IACH;IACA,OAAOiB,SAAS;EAClB,CAAC;EAEDM,WAAWA,CAACC,MAAc,EAAc;IACtC,OAAOA,MAAM,CAAC,CAAC,CAAC;EAClB;AACF,CAAC"}
1
+ {"version":3,"file":"abi-version.mjs","names":["Tag","ConsensusProtocolVersion","getProtocolDetails","_getProtocolDetails","c","tag","kind","ContractCallTx","GaMetaTx","abiVersion","serialize","value","_ref","_ref2","consensusProtocolVersion","Iris","result","_Buffer","from","prepare","_ref3","options","undefined","Object","keys","length","onNode","getNodeInfo","deserialize","buffer"],"sources":["../../../../src/tx/builder/field-types/abi-version.ts"],"sourcesContent":["import { Tag, ConsensusProtocolVersion, AbiVersion } from '../constants';\nimport { getProtocolDetails } from './ct-version';\nimport Node from '../../../Node';\n\nexport default {\n _getProtocolDetails(c: ConsensusProtocolVersion, tag: Tag): AbiVersion {\n const kind = Tag.ContractCallTx === tag || Tag.GaMetaTx === tag\n ? 'contract-call' : 'oracle-call';\n return getProtocolDetails(c, kind).abiVersion;\n },\n\n serialize(\n value: AbiVersion | undefined,\n { tag }: { tag: Tag },\n { consensusProtocolVersion = ConsensusProtocolVersion.Iris }:\n { consensusProtocolVersion?: ConsensusProtocolVersion },\n ): Buffer {\n const result = value ?? this._getProtocolDetails(consensusProtocolVersion, tag);\n\n return Buffer.from([result]);\n },\n\n async prepare(\n value: AbiVersion | undefined,\n { tag }: { tag: Tag },\n // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n ): Promise<AbiVersion | undefined> {\n if (value != null) return value;\n if (options.consensusProtocolVersion != null) return undefined;\n if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n if (options.onNode != null) {\n return this._getProtocolDetails(\n (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n tag,\n );\n }\n return undefined;\n },\n\n deserialize(buffer: Buffer): AbiVersion {\n return buffer[0];\n },\n};\n"],"mappings":";;;;SAASA,GAAG,EAAEC,wBAAwB;AAAA,SAC7BC,kBAAkB;AAG3B,eAAe;EACbC,mBAAmBA,CAACC,CAA2B,EAAEC,GAAQ,EAAc;IACrE,MAAMC,IAAI,GAAGN,GAAG,CAACO,cAAc,KAAKF,GAAG,IAAIL,GAAG,CAACQ,QAAQ,KAAKH,GAAG,GAC3D,eAAe,GAAG,aAAa;IACnC,OAAOH,kBAAkB,CAACE,CAAC,EAAEE,IAAI,CAAC,CAACG,UAAU;EAC/C,CAAC;EAEDC,SAASA,CACPC,KAA6B,EAAAC,IAAA,EAAAC,KAAA,EAIrB;IAAA,IAHR;MAAER;IAAkB,CAAC,GAAAO,IAAA;IAAA,IACrB;MAAEE,wBAAwB,GAAGb,wBAAwB,CAACc;IACA,CAAC,GAAAF,KAAA;IAEvD,MAAMG,MAAM,GAAGL,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,IAAI,CAACR,mBAAmB,CAACW,wBAAwB,EAAET,GAAG,CAAC;IAE/E,OAAOY,OAAA,CAAOC,IAAI,CAAC,CAACF,MAAM,CAAC,CAAC;EAC9B,CAAC;EAED,MAAMG,OAAOA,CACXR,KAA6B,EAAAS,KAAA;EAE7B;EACAC,OAA+E,EAC9C;IAAA,IAHjC;MAAEhB;IAAkB,CAAC,GAAAe,KAAA;IAIrB,IAAIT,KAAK,IAAI,IAAI,EAAE,OAAOA,KAAK;IAC/B,IAAIU,OAAO,CAACP,wBAAwB,IAAI,IAAI,EAAE,OAAOQ,SAAS;IAC9D,IAAIC,MAAM,CAACC,IAAI,CAACvB,wBAAwB,CAAC,CAACwB,MAAM,KAAK,CAAC,EAAE,OAAOH,SAAS;IACxE,IAAID,OAAO,CAACK,MAAM,IAAI,IAAI,EAAE;MAC1B,OAAO,IAAI,CAACvB,mBAAmB,CAC7B,CAAC,MAAMkB,OAAO,CAACK,MAAM,CAACC,WAAW,CAAC,CAAC,EAAEb,wBAAwB,EAC7DT,GACF,CAAC;IACH;IACA,OAAOiB,SAAS;EAClB,CAAC;EAEDM,WAAWA,CAACC,MAAc,EAAc;IACtC,OAAOA,MAAM,CAAC,CAAC,CAAC;EAClB;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"coin-amount.mjs","names":["uInt","AE_AMOUNT_FORMATS","formatAmount","serializeAettos","value","params","serialize","_ref","denomination","AETTOS"],"sources":["../../../../src/tx/builder/field-types/coin-amount.ts"],"sourcesContent":["import uInt from './u-int';\nimport { Int } from '../constants';\nimport { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter';\n\nexport default {\n ...uInt,\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n serializeAettos(value: string | undefined, params: {}): string {\n return value ?? '0';\n },\n\n serialize(\n value: Int | undefined,\n params: {},\n { denomination = AE_AMOUNT_FORMATS.AETTOS }: { denomination?: AE_AMOUNT_FORMATS },\n ): Buffer {\n return uInt.serialize(\n this.serializeAettos(\n value != null ? formatAmount(value, { denomination }) : value,\n params,\n ),\n );\n },\n};\n"],"mappings":"OAAOA,IAAI;AAAA,SAEFC,iBAAiB,EAAEC,YAAY;AAExC,eAAe;EACb,GAAGF,IAAI;EAEP;EACAG,eAAeA,CAACC,KAAyB,EAAEC,MAAU,EAAU;IAC7D,OAAOD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,GAAG;EACrB,CAAC;EAEDE,SAASA,CACPF,KAAsB,EACtBC,MAAU,EAAAE,IAAA,EAEF;IAAA,IADR;MAAEC,YAAY,GAAGP,iBAAiB,CAACQ;IAA6C,CAAC,GAAAF,IAAA;IAEjF,OAAOP,IAAI,CAACM,SAAS,CACnB,IAAI,CAACH,eAAe,CAClBC,KAAK,IAAI,IAAI,GAAGF,YAAY,CAACE,KAAK,EAAE;MAAEI;IAAa,CAAC,CAAC,GAAGJ,KAAK,EAC7DC,MAAM,CACP,CACF;EACH;AACF,CAAC"}
1
+ {"version":3,"file":"coin-amount.mjs","names":["uInt","AE_AMOUNT_FORMATS","formatAmount","serializeAettos","value","params","serialize","_ref","denomination","AETTOS"],"sources":["../../../../src/tx/builder/field-types/coin-amount.ts"],"sourcesContent":["import uInt from './u-int';\nimport { Int } from '../constants';\nimport { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter';\n\nexport default {\n ...uInt,\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n serializeAettos(value: string | undefined, params: {}): string {\n return value ?? '0';\n },\n\n serialize(\n value: Int | undefined,\n params: {},\n { denomination = AE_AMOUNT_FORMATS.AETTOS }: { denomination?: AE_AMOUNT_FORMATS },\n ): Buffer {\n return uInt.serialize(\n this.serializeAettos(\n value != null ? formatAmount(value, { denomination }) : value,\n params,\n ),\n );\n },\n};\n"],"mappings":"OAAOA,IAAI;AAAA,SAEFC,iBAAiB,EAAEC,YAAY;AAExC,eAAe;EACb,GAAGF,IAAI;EAEP;EACAG,eAAeA,CAACC,KAAyB,EAAEC,MAAU,EAAU;IAC7D,OAAOD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,GAAG;EACrB,CAAC;EAEDE,SAASA,CACPF,KAAsB,EACtBC,MAAU,EAAAE,IAAA,EAEF;IAAA,IADR;MAAEC,YAAY,GAAGP,iBAAiB,CAACQ;IAA6C,CAAC,GAAAF,IAAA;IAEjF,OAAOP,IAAI,CAACM,SAAS,CACnB,IAAI,CAACH,eAAe,CAClBC,KAAK,IAAI,IAAI,GAAGF,YAAY,CAACE,KAAK,EAAE;MAAEI;IAAa,CAAC,CAAC,GAAGJ,KAAK,EAC7DC,MACF,CACF,CAAC;EACH;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ct-version.mjs","names":["ConsensusProtocolVersion","VmVersion","AbiVersion","ProtocolToVmAbi","Iris","vmVersion","Fate2","abiVersion","Fate","Sophia","NoAbi","Ceres","getProtocolDetails","protocolVersion","type","_protocol$vmVersion$","protocol","serialize","value","params","_ref","_value","consensusProtocolVersion","_Buffer","from","prepare","options","undefined","Object","keys","length","onNode","getNodeInfo","deserialize","buffer","vm","abi"],"sources":["../../../../src/tx/builder/field-types/ct-version.ts"],"sourcesContent":["import { ConsensusProtocolVersion, VmVersion, AbiVersion } from '../constants';\nimport Node from '../../../Node';\n\n/*\n * First abi/vm by default\n * @see {@link https://github.com/aeternity/protocol/blob/71cf111/contracts/contract_vms.md#virtual-machines-on-the-æternity-blockchain}\n */\nexport const ProtocolToVmAbi = {\n [ConsensusProtocolVersion.Iris]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate2], abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [], abiVersion: [AbiVersion.Fate, AbiVersion.Sophia],\n },\n 'oracle-call': {\n vmVersion: [], abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n },\n },\n [ConsensusProtocolVersion.Ceres]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate2], abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [], abiVersion: [AbiVersion.Fate],\n },\n 'oracle-call': {\n vmVersion: [], abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n },\n },\n} as const;\n\nexport interface CtVersion {\n vmVersion: VmVersion;\n abiVersion: AbiVersion;\n}\n\nexport function getProtocolDetails(\n protocolVersion: ConsensusProtocolVersion,\n type: 'contract-create' | 'contract-call' | 'oracle-call',\n): CtVersion {\n const protocol = ProtocolToVmAbi[protocolVersion][type];\n return {\n vmVersion: protocol.vmVersion[0] ?? VmVersion.Fate2,\n abiVersion: protocol.abiVersion[0],\n };\n}\n\nexport default {\n serialize(\n value: CtVersion | undefined,\n params: {},\n { consensusProtocolVersion = ConsensusProtocolVersion.Iris }:\n { consensusProtocolVersion?: ConsensusProtocolVersion },\n ): Buffer {\n value ??= getProtocolDetails(consensusProtocolVersion, 'contract-create');\n\n return Buffer.from([value.vmVersion, 0, value.abiVersion]);\n },\n\n async prepare(\n value: CtVersion | undefined,\n params: {},\n // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n ): Promise<CtVersion | undefined> {\n if (value != null) return value;\n if (options.consensusProtocolVersion != null) return undefined;\n if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n if (options.onNode != null) {\n return getProtocolDetails(\n (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n 'contract-create',\n );\n }\n return undefined;\n },\n\n deserialize(buffer: Buffer): CtVersion {\n const [vm, , abi] = buffer;\n return { vmVersion: +vm, abiVersion: +abi };\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ct-version.mjs","names":["ConsensusProtocolVersion","VmVersion","AbiVersion","ProtocolToVmAbi","Iris","vmVersion","Fate2","abiVersion","Fate","Sophia","NoAbi","Ceres","getProtocolDetails","protocolVersion","type","_protocol$vmVersion$","protocol","serialize","value","params","_ref","_value","consensusProtocolVersion","_Buffer","from","prepare","options","undefined","Object","keys","length","onNode","getNodeInfo","deserialize","buffer","vm","abi"],"sources":["../../../../src/tx/builder/field-types/ct-version.ts"],"sourcesContent":["import { ConsensusProtocolVersion, VmVersion, AbiVersion } from '../constants';\nimport Node from '../../../Node';\n\n/*\n * First abi/vm by default\n * @see {@link https://github.com/aeternity/protocol/blob/71cf111/contracts/contract_vms.md#virtual-machines-on-the-æternity-blockchain}\n */\nexport const ProtocolToVmAbi = {\n [ConsensusProtocolVersion.Iris]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate2], abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [], abiVersion: [AbiVersion.Fate, AbiVersion.Sophia],\n },\n 'oracle-call': {\n vmVersion: [], abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n },\n },\n [ConsensusProtocolVersion.Ceres]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate2], abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [], abiVersion: [AbiVersion.Fate],\n },\n 'oracle-call': {\n vmVersion: [], abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n },\n },\n} as const;\n\nexport interface CtVersion {\n vmVersion: VmVersion;\n abiVersion: AbiVersion;\n}\n\nexport function getProtocolDetails(\n protocolVersion: ConsensusProtocolVersion,\n type: 'contract-create' | 'contract-call' | 'oracle-call',\n): CtVersion {\n const protocol = ProtocolToVmAbi[protocolVersion][type];\n return {\n vmVersion: protocol.vmVersion[0] ?? VmVersion.Fate2,\n abiVersion: protocol.abiVersion[0],\n };\n}\n\nexport default {\n serialize(\n value: CtVersion | undefined,\n params: {},\n { consensusProtocolVersion = ConsensusProtocolVersion.Iris }:\n { consensusProtocolVersion?: ConsensusProtocolVersion },\n ): Buffer {\n value ??= getProtocolDetails(consensusProtocolVersion, 'contract-create');\n\n return Buffer.from([value.vmVersion, 0, value.abiVersion]);\n },\n\n async prepare(\n value: CtVersion | undefined,\n params: {},\n // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n ): Promise<CtVersion | undefined> {\n if (value != null) return value;\n if (options.consensusProtocolVersion != null) return undefined;\n if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n if (options.onNode != null) {\n return getProtocolDetails(\n (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n 'contract-create',\n );\n }\n return undefined;\n },\n\n deserialize(buffer: Buffer): CtVersion {\n const [vm, , abi] = buffer;\n return { vmVersion: +vm, abiVersion: +abi };\n },\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deposit.mjs","names":["coinAmount","IllegalArgumentError","serialize","value","options","parameters","_value","toString"],"sources":["../../../../src/tx/builder/field-types/deposit.ts"],"sourcesContent":["import coinAmount from './coin-amount';\nimport { Int } from '../constants';\nimport { IllegalArgumentError } from '../../../utils/errors';\n\nexport default {\n ...coinAmount,\n\n /**\n * @param value - Deposit value in string format. Should be equal to '0'.\n * @param options - Options\n * @param parameters - Parameters\n * @returns Deposit value Buffer.\n */\n serialize(\n value: Int | undefined,\n options: Parameters<typeof coinAmount['serialize']>[1],\n parameters: Parameters<typeof coinAmount['serialize']>[2],\n ): Buffer {\n value ??= 0;\n if (+value !== 0) throw new IllegalArgumentError(`Contract deposit is not refundable, so it should be equal 0, got ${value.toString()} instead`);\n return coinAmount.serialize(value, options, parameters);\n },\n};\n"],"mappings":"OAAOA,UAAU;AAAA,SAERC,oBAAoB;AAE7B,eAAe;EACb,GAAGD,UAAU;EAEb;AACF;AACA;AACA;AACA;AACA;EACEE,SAASA,CACPC,KAAsB,EACtBC,OAAsD,EACtDC,UAAyD,EACjD;IAAA,IAAAC,MAAA;IACR,CAAAA,MAAA,GAAAH,KAAK,cAAAG,MAAA,cAAAA,MAAA,GAALH,KAAK,GAAK,CAAC;IACX,IAAI,CAACA,KAAK,KAAK,CAAC,EAAE,MAAM,IAAIF,oBAAoB,CAAE,oEAAmEE,KAAK,CAACI,QAAQ,EAAG,UAAS,CAAC;IAChJ,OAAOP,UAAU,CAACE,SAAS,CAACC,KAAK,EAAEC,OAAO,EAAEC,UAAU,CAAC;EACzD;AACF,CAAC"}
1
+ {"version":3,"file":"deposit.mjs","names":["coinAmount","IllegalArgumentError","serialize","value","options","parameters","_value","toString"],"sources":["../../../../src/tx/builder/field-types/deposit.ts"],"sourcesContent":["import coinAmount from './coin-amount';\nimport { Int } from '../constants';\nimport { IllegalArgumentError } from '../../../utils/errors';\n\nexport default {\n ...coinAmount,\n\n /**\n * @param value - Deposit value in string format. Should be equal to '0'.\n * @param options - Options\n * @param parameters - Parameters\n * @returns Deposit value Buffer.\n */\n serialize(\n value: Int | undefined,\n options: Parameters<typeof coinAmount['serialize']>[1],\n parameters: Parameters<typeof coinAmount['serialize']>[2],\n ): Buffer {\n value ??= 0;\n if (+value !== 0) throw new IllegalArgumentError(`Contract deposit is not refundable, so it should be equal 0, got ${value.toString()} instead`);\n return coinAmount.serialize(value, options, parameters);\n },\n};\n"],"mappings":"OAAOA,UAAU;AAAA,SAERC,oBAAoB;AAE7B,eAAe;EACb,GAAGD,UAAU;EAEb;AACF;AACA;AACA;AACA;AACA;EACEE,SAASA,CACPC,KAAsB,EACtBC,OAAsD,EACtDC,UAAyD,EACjD;IAAA,IAAAC,MAAA;IACR,CAAAA,MAAA,GAAAH,KAAK,cAAAG,MAAA,cAAAA,MAAA,GAALH,KAAK,GAAK,CAAC;IACX,IAAI,CAACA,KAAK,KAAK,CAAC,EAAE,MAAM,IAAIF,oBAAoB,CAAE,oEAAmEE,KAAK,CAACI,QAAQ,CAAC,CAAE,UAAS,CAAC;IAChJ,OAAOP,UAAU,CAACE,SAAS,CAACC,KAAK,EAAEC,OAAO,EAAEC,UAAU,CAAC;EACzD;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"entry.mjs","names":["decode","encode","Encoding","Tag","ArgumentError","genEntryField","tag","serialize","txParams","_ref","buildTx","ArrayBuffer","isView","_Buffer","from","startsWith","deserialize","buf","_ref2","unpackTx","tx","Transaction"],"sources":["../../../../src/tx/builder/field-types/entry.ts"],"sourcesContent":["import {\n decode, encode, Encoded, Encoding,\n} from '../../../utils/encoder';\nimport { Tag } from '../constants';\nimport { ArgumentError } from '../../../utils/errors';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nexport default function genEntryField<T extends Tag = Tag>(tag?: T): {\n serialize: (\n // TODO: replace with `TxParams & { tag: T }`,\n // but fix TS2502 value is referenced directly or indirectly in its own type annotation\n value: any,\n options: { buildTx: typeof buildTxType },\n ) => Buffer;\n deserialize: (\n value: Buffer, options: { unpackTx: typeof unpackTxType },\n // TODO: replace with `TxUnpacked & { tag: T }`,\n // TS2577 Return type annotation circularly references itself\n ) => any;\n} {\n return {\n serialize(txParams, { buildTx }) {\n if (ArrayBuffer.isView(txParams)) return Buffer.from(txParams as any);\n if (typeof txParams === 'string' && txParams.startsWith('tx_')) {\n return decode(txParams as Encoded.Transaction);\n }\n return decode(buildTx({ ...txParams, ...tag != null && { tag } }));\n },\n\n deserialize(buf, { unpackTx }) {\n const tx = unpackTx(encode(buf, Encoding.Transaction));\n if (tag != null && tx.tag !== tag) throw new ArgumentError('Tag', Tag[tag], Tag[tx.tag]);\n return tx;\n },\n };\n}\n"],"mappings":";;;;SACEA,MAAM,EAAEC,MAAM,EAAWC,QAAQ;AAAA,SAE1BC,GAAG;AAAA,SACHC,aAAa;AAGtB,eAAe,SAASC,aAAaA,CAAsBC,GAAO,EAYhE;EACA,OAAO;IACLC,SAASA,CAACC,QAAQ,EAAAC,IAAA,EAAe;MAAA,IAAb;QAAEC;MAAQ,CAAC,GAAAD,IAAA;MAC7B,IAAIE,WAAW,CAACC,MAAM,CAACJ,QAAQ,CAAC,EAAE,OAAOK,OAAA,CAAOC,IAAI,CAACN,QAAQ,CAAQ;MACrE,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACO,UAAU,CAAC,KAAK,CAAC,EAAE;QAC9D,OAAOf,MAAM,CAACQ,QAAQ,CAAwB;MAChD;MACA,OAAOR,MAAM,CAACU,OAAO,CAAC;QAAE,GAAGF,QAAQ;QAAE,IAAGF,GAAG,IAAI,IAAI,IAAI;UAAEA;QAAI,CAAC;MAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAEDU,WAAWA,CAACC,GAAG,EAAAC,KAAA,EAAgB;MAAA,IAAd;QAAEC;MAAS,CAAC,GAAAD,KAAA;MAC3B,MAAME,EAAE,GAAGD,QAAQ,CAAClB,MAAM,CAACgB,GAAG,EAAEf,QAAQ,CAACmB,WAAW,CAAC,CAAC;MACtD,IAAIf,GAAG,IAAI,IAAI,IAAIc,EAAE,CAACd,GAAG,KAAKA,GAAG,EAAE,MAAM,IAAIF,aAAa,CAAC,KAAK,EAAED,GAAG,CAACG,GAAG,CAAC,EAAEH,GAAG,CAACiB,EAAE,CAACd,GAAG,CAAC,CAAC;MACxF,OAAOc,EAAE;IACX;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"entry.mjs","names":["decode","encode","Encoding","Tag","ArgumentError","genEntryField","tag","serialize","txParams","_ref","buildTx","ArrayBuffer","isView","_Buffer","from","startsWith","deserialize","buf","_ref2","unpackTx","tx","Transaction"],"sources":["../../../../src/tx/builder/field-types/entry.ts"],"sourcesContent":["import {\n decode, encode, Encoded, Encoding,\n} from '../../../utils/encoder';\nimport { Tag } from '../constants';\nimport { ArgumentError } from '../../../utils/errors';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nexport default function genEntryField<T extends Tag = Tag>(tag?: T): {\n serialize: (\n // TODO: replace with `TxParams & { tag: T }`,\n // but fix TS2502 value is referenced directly or indirectly in its own type annotation\n value: any,\n options: { buildTx: typeof buildTxType },\n ) => Buffer;\n deserialize: (\n value: Buffer, options: { unpackTx: typeof unpackTxType },\n // TODO: replace with `TxUnpacked & { tag: T }`,\n // TS2577 Return type annotation circularly references itself\n ) => any;\n} {\n return {\n serialize(txParams, { buildTx }) {\n if (ArrayBuffer.isView(txParams)) return Buffer.from(txParams as any);\n if (typeof txParams === 'string' && txParams.startsWith('tx_')) {\n return decode(txParams as Encoded.Transaction);\n }\n return decode(buildTx({ ...txParams, ...tag != null && { tag } }));\n },\n\n deserialize(buf, { unpackTx }) {\n const tx = unpackTx(encode(buf, Encoding.Transaction));\n if (tag != null && tx.tag !== tag) throw new ArgumentError('Tag', Tag[tag], Tag[tx.tag]);\n return tx;\n },\n };\n}\n"],"mappings":";;;;SACEA,MAAM,EAAEC,MAAM,EAAWC,QAAQ;AAAA,SAE1BC,GAAG;AAAA,SACHC,aAAa;AAGtB,eAAe,SAASC,aAAaA,CAAsBC,GAAO,EAYhE;EACA,OAAO;IACLC,SAASA,CAACC,QAAQ,EAAAC,IAAA,EAAe;MAAA,IAAb;QAAEC;MAAQ,CAAC,GAAAD,IAAA;MAC7B,IAAIE,WAAW,CAACC,MAAM,CAACJ,QAAQ,CAAC,EAAE,OAAOK,OAAA,CAAOC,IAAI,CAACN,QAAe,CAAC;MACrE,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACO,UAAU,CAAC,KAAK,CAAC,EAAE;QAC9D,OAAOf,MAAM,CAACQ,QAA+B,CAAC;MAChD;MACA,OAAOR,MAAM,CAACU,OAAO,CAAC;QAAE,GAAGF,QAAQ;QAAE,IAAGF,GAAG,IAAI,IAAI,IAAI;UAAEA;QAAI,CAAC;MAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAEDU,WAAWA,CAACC,GAAG,EAAAC,KAAA,EAAgB;MAAA,IAAd;QAAEC;MAAS,CAAC,GAAAD,KAAA;MAC3B,MAAME,EAAE,GAAGD,QAAQ,CAAClB,MAAM,CAACgB,GAAG,EAAEf,QAAQ,CAACmB,WAAW,CAAC,CAAC;MACtD,IAAIf,GAAG,IAAI,IAAI,IAAIc,EAAE,CAACd,GAAG,KAAKA,GAAG,EAAE,MAAM,IAAIF,aAAa,CAAC,KAAK,EAAED,GAAG,CAACG,GAAG,CAAC,EAAEH,GAAG,CAACiB,EAAE,CAACd,GAAG,CAAC,CAAC;MACxF,OAAOc,EAAE;IACX;EACF,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"fee.mjs","names":["BigNumber","IllegalArgumentError","MIN_GAS_PRICE","Tag","coinAmount","isKeyOfObject","decode","BASE_GAS","GAS_PER_BYTE","KEY_BLOCK_INTERVAL","TX_FEE_BASE_GAS","txType","_feeFactors","feeFactors","ChannelForceProgressTx","ChannelOffChainTx","ChannelOffChainUpdateCallContract","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateTransfer","ContractCreateTx","ContractCallTx","GaAttachTx","GaMetaTx","PayingForTx","factor","TX_FEE_OTHER_GAS","txSize","_ref","relativeTtl","innerTxSize","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleResponseTx","times","plus","Math","ceil","floor","minus","getOracleRelativeTtl","params","ttlKeys","tag","buildFee","builtTx","unpackTx","buildTx","length","txObject","tx","encodedTx","calculateMinFee","rebuildTx","fee","previousFee","eq","serializeAettos","_value","_ref2","_computingMinFee","_pickBiggerFee","toFixed","minFee","value","gt","toString"],"sources":["../../../../src/tx/builder/field-types/fee.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE, Tag } from '../constants';\nimport coinAmount from './coin-amount';\nimport { isKeyOfObject } from '../../../utils/other';\nimport { decode, Encoded } from '../../../utils/encoder';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nconst BASE_GAS = 15000;\nconst GAS_PER_BYTE = 20;\nconst KEY_BLOCK_INTERVAL = 3;\n\n/**\n * Calculate the Base fee gas\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @returns The base fee\n * @example\n * ```js\n * TX_FEE_BASE('channelForceProgress') => new BigNumber(30 * 15000)\n * ```\n */\nconst TX_FEE_BASE_GAS = (txType: Tag): BigNumber => {\n const feeFactors = {\n [Tag.ChannelForceProgressTx]: 30,\n [Tag.ChannelOffChainTx]: 0,\n [Tag.ChannelOffChainUpdateCallContract]: 0,\n [Tag.ChannelOffChainUpdateCreateContract]: 0,\n [Tag.ChannelOffChainUpdateDeposit]: 0,\n [Tag.ChannelOffChainUpdateWithdraw]: 0,\n [Tag.ChannelOffChainUpdateTransfer]: 0,\n [Tag.ContractCreateTx]: 5,\n [Tag.ContractCallTx]: 12,\n [Tag.GaAttachTx]: 5,\n [Tag.GaMetaTx]: 5,\n [Tag.PayingForTx]: 1 / 5,\n } as const;\n const factor = feeFactors[txType as keyof typeof feeFactors] ?? 1;\n return new BigNumber(factor * BASE_GAS);\n};\n\n/**\n * Calculate fee for Other types of transactions\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @param txSize - The transaction size\n * @returns parameters - The transaction parameters\n * @returns parameters.relativeTtl - The relative ttl\n * @returns parameters.innerTxSize - The size of the inner transaction\n * @returns The Other fee\n * @example\n * ```js\n * TX_FEE_OTHER_GAS('oracleResponse',10, { relativeTtl: 10, innerTxSize: 10 })\n * => new BigNumber(10).times(20).plus(Math.ceil(32000 * 10 / Math.floor(60 * 24 * 365 / 2)))\n * ```\n */\nconst TX_FEE_OTHER_GAS = (\n txType: Tag,\n txSize: number,\n { relativeTtl, innerTxSize }: { relativeTtl: number; innerTxSize: number },\n): BigNumber => {\n switch (txType) {\n case Tag.OracleRegisterTx:\n case Tag.OracleExtendTx:\n case Tag.OracleQueryTx:\n case Tag.OracleResponseTx:\n return new BigNumber(txSize)\n .times(GAS_PER_BYTE)\n .plus(\n Math.ceil((32000 * relativeTtl) / Math.floor((60 * 24 * 365) / KEY_BLOCK_INTERVAL)),\n );\n case Tag.GaMetaTx:\n case Tag.PayingForTx:\n return new BigNumber(txSize).minus(innerTxSize).times(GAS_PER_BYTE);\n default:\n return new BigNumber(txSize).times(GAS_PER_BYTE);\n }\n};\n\nfunction getOracleRelativeTtl(params: any): number {\n const ttlKeys = {\n [Tag.OracleRegisterTx]: 'oracleTtlValue',\n [Tag.OracleExtendTx]: 'oracleTtlValue',\n [Tag.OracleQueryTx]: 'queryTtlValue',\n [Tag.OracleResponseTx]: 'responseTtlValue',\n } as const;\n\n const { tag } = params;\n if (!isKeyOfObject(tag, ttlKeys)) return 1;\n return params[ttlKeys[tag]];\n}\n\n/**\n * Calculate fee based on tx type and params\n */\nexport function buildFee(\n builtTx: Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): BigNumber {\n const { length } = decode(builtTx);\n const txObject = unpackTx(builtTx);\n\n let innerTxSize = 0;\n if (txObject.tag === Tag.GaMetaTx || txObject.tag === Tag.PayingForTx) {\n innerTxSize = decode(buildTx(txObject.tx.encodedTx)).length;\n }\n\n return TX_FEE_BASE_GAS(txObject.tag)\n .plus(TX_FEE_OTHER_GAS(txObject.tag, length, {\n relativeTtl: getOracleRelativeTtl(txObject), innerTxSize,\n }))\n .times(MIN_GAS_PRICE);\n}\n\n/**\n * Calculate min fee\n * @category transaction builder\n * @param rebuildTx - Callback to get built transaction with specific fee\n */\nfunction calculateMinFee(\n rebuildTx: (value: BigNumber) => Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): BigNumber {\n let fee = new BigNumber(0);\n let previousFee;\n do {\n previousFee = fee;\n fee = buildFee(rebuildTx(fee), unpackTx, buildTx);\n } while (!fee.eq(previousFee));\n return fee;\n}\n\nexport default {\n ...coinAmount,\n\n serializeAettos(\n _value: string | undefined,\n {\n rebuildTx, unpackTx, buildTx, _computingMinFee, _pickBiggerFee,\n }: {\n rebuildTx: (params: any) => Encoded.Transaction;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingMinFee?: BigNumber;\n _pickBiggerFee?: boolean;\n },\n ): string {\n if (_computingMinFee != null) return _computingMinFee.toFixed();\n const minFee = calculateMinFee(\n (fee) => rebuildTx({ _computingMinFee: fee }),\n unpackTx,\n buildTx,\n );\n const value = new BigNumber(_value ?? minFee);\n if (minFee.gt(value)) {\n if (_pickBiggerFee === true) return minFee.toFixed();\n throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger then ${minFee}`);\n }\n return value.toFixed();\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"fee.mjs","names":["BigNumber","IllegalArgumentError","MIN_GAS_PRICE","Tag","coinAmount","isKeyOfObject","decode","BASE_GAS","GAS_PER_BYTE","KEY_BLOCK_INTERVAL","TX_FEE_BASE_GAS","txType","_feeFactors","feeFactors","ChannelForceProgressTx","ChannelOffChainTx","ChannelOffChainUpdateCallContract","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateTransfer","ContractCreateTx","ContractCallTx","GaAttachTx","GaMetaTx","PayingForTx","factor","TX_FEE_OTHER_GAS","txSize","_ref","relativeTtl","innerTxSize","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleResponseTx","times","plus","Math","ceil","floor","minus","getOracleRelativeTtl","params","ttlKeys","tag","buildFee","builtTx","unpackTx","buildTx","length","txObject","tx","encodedTx","calculateMinFee","rebuildTx","fee","previousFee","eq","serializeAettos","_value","_ref2","_computingMinFee","_pickBiggerFee","toFixed","minFee","value","gt","toString"],"sources":["../../../../src/tx/builder/field-types/fee.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE, Tag } from '../constants';\nimport coinAmount from './coin-amount';\nimport { isKeyOfObject } from '../../../utils/other';\nimport { decode, Encoded } from '../../../utils/encoder';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nconst BASE_GAS = 15000;\nconst GAS_PER_BYTE = 20;\nconst KEY_BLOCK_INTERVAL = 3;\n\n/**\n * Calculate the Base fee gas\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @returns The base fee\n * @example\n * ```js\n * TX_FEE_BASE('channelForceProgress') => new BigNumber(30 * 15000)\n * ```\n */\nconst TX_FEE_BASE_GAS = (txType: Tag): BigNumber => {\n const feeFactors = {\n [Tag.ChannelForceProgressTx]: 30,\n [Tag.ChannelOffChainTx]: 0,\n [Tag.ChannelOffChainUpdateCallContract]: 0,\n [Tag.ChannelOffChainUpdateCreateContract]: 0,\n [Tag.ChannelOffChainUpdateDeposit]: 0,\n [Tag.ChannelOffChainUpdateWithdraw]: 0,\n [Tag.ChannelOffChainUpdateTransfer]: 0,\n [Tag.ContractCreateTx]: 5,\n [Tag.ContractCallTx]: 12,\n [Tag.GaAttachTx]: 5,\n [Tag.GaMetaTx]: 5,\n [Tag.PayingForTx]: 1 / 5,\n } as const;\n const factor = feeFactors[txType as keyof typeof feeFactors] ?? 1;\n return new BigNumber(factor * BASE_GAS);\n};\n\n/**\n * Calculate fee for Other types of transactions\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @param txSize - The transaction size\n * @returns parameters - The transaction parameters\n * @returns parameters.relativeTtl - The relative ttl\n * @returns parameters.innerTxSize - The size of the inner transaction\n * @returns The Other fee\n * @example\n * ```js\n * TX_FEE_OTHER_GAS('oracleResponse',10, { relativeTtl: 10, innerTxSize: 10 })\n * => new BigNumber(10).times(20).plus(Math.ceil(32000 * 10 / Math.floor(60 * 24 * 365 / 2)))\n * ```\n */\nconst TX_FEE_OTHER_GAS = (\n txType: Tag,\n txSize: number,\n { relativeTtl, innerTxSize }: { relativeTtl: number; innerTxSize: number },\n): BigNumber => {\n switch (txType) {\n case Tag.OracleRegisterTx:\n case Tag.OracleExtendTx:\n case Tag.OracleQueryTx:\n case Tag.OracleResponseTx:\n return new BigNumber(txSize)\n .times(GAS_PER_BYTE)\n .plus(\n Math.ceil((32000 * relativeTtl) / Math.floor((60 * 24 * 365) / KEY_BLOCK_INTERVAL)),\n );\n case Tag.GaMetaTx:\n case Tag.PayingForTx:\n return new BigNumber(txSize).minus(innerTxSize).times(GAS_PER_BYTE);\n default:\n return new BigNumber(txSize).times(GAS_PER_BYTE);\n }\n};\n\nfunction getOracleRelativeTtl(params: any): number {\n const ttlKeys = {\n [Tag.OracleRegisterTx]: 'oracleTtlValue',\n [Tag.OracleExtendTx]: 'oracleTtlValue',\n [Tag.OracleQueryTx]: 'queryTtlValue',\n [Tag.OracleResponseTx]: 'responseTtlValue',\n } as const;\n\n const { tag } = params;\n if (!isKeyOfObject(tag, ttlKeys)) return 1;\n return params[ttlKeys[tag]];\n}\n\n/**\n * Calculate fee based on tx type and params\n */\nexport function buildFee(\n builtTx: Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): BigNumber {\n const { length } = decode(builtTx);\n const txObject = unpackTx(builtTx);\n\n let innerTxSize = 0;\n if (txObject.tag === Tag.GaMetaTx || txObject.tag === Tag.PayingForTx) {\n innerTxSize = decode(buildTx(txObject.tx.encodedTx)).length;\n }\n\n return TX_FEE_BASE_GAS(txObject.tag)\n .plus(TX_FEE_OTHER_GAS(txObject.tag, length, {\n relativeTtl: getOracleRelativeTtl(txObject), innerTxSize,\n }))\n .times(MIN_GAS_PRICE);\n}\n\n/**\n * Calculate min fee\n * @category transaction builder\n * @param rebuildTx - Callback to get built transaction with specific fee\n */\nfunction calculateMinFee(\n rebuildTx: (value: BigNumber) => Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): BigNumber {\n let fee = new BigNumber(0);\n let previousFee;\n do {\n previousFee = fee;\n fee = buildFee(rebuildTx(fee), unpackTx, buildTx);\n } while (!fee.eq(previousFee));\n return fee;\n}\n\nexport default {\n ...coinAmount,\n\n serializeAettos(\n _value: string | undefined,\n {\n rebuildTx, unpackTx, buildTx, _computingMinFee, _pickBiggerFee,\n }: {\n rebuildTx: (params: any) => Encoded.Transaction;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingMinFee?: BigNumber;\n _pickBiggerFee?: boolean;\n },\n ): string {\n if (_computingMinFee != null) return _computingMinFee.toFixed();\n const minFee = calculateMinFee(\n (fee) => rebuildTx({ _computingMinFee: fee }),\n unpackTx,\n buildTx,\n );\n const value = new BigNumber(_value ?? minFee);\n if (minFee.gt(value)) {\n if (_pickBiggerFee === true) return minFee.toFixed();\n throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger then ${minFee}`);\n }\n return value.toFixed();\n },\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"field.mjs","names":["serialize","value","_Buffer","from","deserialize","toString"],"sources":["../../../../src/tx/builder/field-types/field.ts"],"sourcesContent":["export default {\n serialize(value: string): Buffer {\n return Buffer.from(value);\n },\n\n deserialize(value: Buffer): string {\n return value.toString();\n },\n};\n"],"mappings":";;;;AAAA,eAAe;EACbA,SAASA,CAACC,KAAa,EAAU;IAC/B,OAAOC,OAAA,CAAOC,IAAI,CAACF,KAAK,CAAC;EAC3B,CAAC;EAEDG,WAAWA,CAACH,KAAa,EAAU;IACjC,OAAOA,KAAK,CAACI,QAAQ,EAAE;EACzB;AACF,CAAC"}
1
+ {"version":3,"file":"field.mjs","names":["serialize","value","_Buffer","from","deserialize","toString"],"sources":["../../../../src/tx/builder/field-types/field.ts"],"sourcesContent":["export default {\n serialize(value: string): Buffer {\n return Buffer.from(value);\n },\n\n deserialize(value: Buffer): string {\n return value.toString();\n },\n};\n"],"mappings":";;;;AAAA,eAAe;EACbA,SAASA,CAACC,KAAa,EAAU;IAC/B,OAAOC,OAAA,CAAOC,IAAI,CAACF,KAAK,CAAC;EAC3B,CAAC;EAEDG,WAAWA,CAACH,KAAa,EAAU;IACjC,OAAOA,KAAK,CAACI,QAAQ,CAAC,CAAC;EACzB;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gas-limit.mjs","names":["IllegalArgumentError","MIN_GAS_PRICE","Tag","MAX_AUTH_FUN_GAS","shortUInt","buildFee","calculateGasLimitMax","gasMax","rebuildTx","unpackTx","buildTx","dividedBy","serialize","_value","_ref","_ref2","tag","_computingGasLimit","gasLimitMax","GaMetaTx","gasLimit","_pickBiggerFee","value"],"sources":["../../../../src/tx/builder/field-types/gas-limit.ts"],"sourcesContent":["import { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE, Tag, MAX_AUTH_FUN_GAS } from '../constants';\nimport shortUInt from './short-u-int';\nimport { buildFee } from './fee';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nfunction calculateGasLimitMax(\n gasMax: number,\n rebuildTx: (value: number) => any,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): number {\n return gasMax - +buildFee(rebuildTx(gasMax), unpackTx, buildTx).dividedBy(MIN_GAS_PRICE);\n}\n\nexport default {\n ...shortUInt,\n\n serialize(\n _value: number | undefined,\n {\n tag, rebuildTx, unpackTx, buildTx, _computingGasLimit,\n }: {\n tag: Tag;\n rebuildTx: (params: any) => any;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingGasLimit?: number;\n },\n { gasMax = 6e6 }: { gasMax?: number },\n ): Buffer {\n if (_computingGasLimit != null) return shortUInt.serialize(_computingGasLimit);\n\n const gasLimitMax = tag === Tag.GaMetaTx ? MAX_AUTH_FUN_GAS : calculateGasLimitMax(\n gasMax,\n (gasLimit) => rebuildTx({ _computingGasLimit: gasLimit, _pickBiggerFee: true }),\n unpackTx,\n buildTx,\n );\n const value = _value ?? gasLimitMax;\n if (value > gasLimitMax) {\n throw new IllegalArgumentError(`Gas limit ${value} must be less or equal to ${gasLimitMax}`);\n }\n return shortUInt.serialize(value);\n },\n};\n"],"mappings":"SAASA,oBAAoB;AAAA,SACpBC,aAAa,EAAEC,GAAG,EAAEC,gBAAgB;AAAA,OACtCC,SAAS;AAAA,SACPC,QAAQ;AAGjB,SAASC,oBAAoBA,CAC3BC,MAAc,EACdC,SAAiC,EACjCC,QAA6B,EAC7BC,OAA2B,EACnB;EACR,OAAOH,MAAM,GAAG,CAACF,QAAQ,CAACG,SAAS,CAACD,MAAM,CAAC,EAAEE,QAAQ,EAAEC,OAAO,CAAC,CAACC,SAAS,CAACV,aAAa,CAAC;AAC1F;AAEA,eAAe;EACb,GAAGG,SAAS;EAEZQ,SAASA,CACPC,MAA0B,EAAAC,IAAA,EAAAC,KAAA,EAWlB;IAAA,IAVR;MACEC,GAAG;MAAER,SAAS;MAAEC,QAAQ;MAAEC,OAAO;MAAEO;IAOrC,CAAC,GAAAH,IAAA;IAAA,IACD;MAAEP,MAAM,GAAG;IAAyB,CAAC,GAAAQ,KAAA;IAErC,IAAIE,kBAAkB,IAAI,IAAI,EAAE,OAAOb,SAAS,CAACQ,SAAS,CAACK,kBAAkB,CAAC;IAE9E,MAAMC,WAAW,GAAGF,GAAG,KAAKd,GAAG,CAACiB,QAAQ,GAAGhB,gBAAgB,GAAGG,oBAAoB,CAChFC,MAAM,EACLa,QAAQ,IAAKZ,SAAS,CAAC;MAAES,kBAAkB,EAAEG,QAAQ;MAAEC,cAAc,EAAE;IAAK,CAAC,CAAC,EAC/EZ,QAAQ,EACRC,OAAO,CACR;IACD,MAAMY,KAAK,GAAGT,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIK,WAAW;IACnC,IAAII,KAAK,GAAGJ,WAAW,EAAE;MACvB,MAAM,IAAIlB,oBAAoB,CAAE,aAAYsB,KAAM,6BAA4BJ,WAAY,EAAC,CAAC;IAC9F;IACA,OAAOd,SAAS,CAACQ,SAAS,CAACU,KAAK,CAAC;EACnC;AACF,CAAC"}
1
+ {"version":3,"file":"gas-limit.mjs","names":["IllegalArgumentError","MIN_GAS_PRICE","Tag","MAX_AUTH_FUN_GAS","shortUInt","buildFee","calculateGasLimitMax","gasMax","rebuildTx","unpackTx","buildTx","dividedBy","serialize","_value","_ref","_ref2","tag","_computingGasLimit","gasLimitMax","GaMetaTx","gasLimit","_pickBiggerFee","value"],"sources":["../../../../src/tx/builder/field-types/gas-limit.ts"],"sourcesContent":["import { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE, Tag, MAX_AUTH_FUN_GAS } from '../constants';\nimport shortUInt from './short-u-int';\nimport { buildFee } from './fee';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nfunction calculateGasLimitMax(\n gasMax: number,\n rebuildTx: (value: number) => any,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): number {\n return gasMax - +buildFee(rebuildTx(gasMax), unpackTx, buildTx).dividedBy(MIN_GAS_PRICE);\n}\n\nexport default {\n ...shortUInt,\n\n serialize(\n _value: number | undefined,\n {\n tag, rebuildTx, unpackTx, buildTx, _computingGasLimit,\n }: {\n tag: Tag;\n rebuildTx: (params: any) => any;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingGasLimit?: number;\n },\n { gasMax = 6e6 }: { gasMax?: number },\n ): Buffer {\n if (_computingGasLimit != null) return shortUInt.serialize(_computingGasLimit);\n\n const gasLimitMax = tag === Tag.GaMetaTx ? MAX_AUTH_FUN_GAS : calculateGasLimitMax(\n gasMax,\n (gasLimit) => rebuildTx({ _computingGasLimit: gasLimit, _pickBiggerFee: true }),\n unpackTx,\n buildTx,\n );\n const value = _value ?? gasLimitMax;\n if (value > gasLimitMax) {\n throw new IllegalArgumentError(`Gas limit ${value} must be less or equal to ${gasLimitMax}`);\n }\n return shortUInt.serialize(value);\n },\n};\n"],"mappings":"SAASA,oBAAoB;AAAA,SACpBC,aAAa,EAAEC,GAAG,EAAEC,gBAAgB;AAAA,OACtCC,SAAS;AAAA,SACPC,QAAQ;AAGjB,SAASC,oBAAoBA,CAC3BC,MAAc,EACdC,SAAiC,EACjCC,QAA6B,EAC7BC,OAA2B,EACnB;EACR,OAAOH,MAAM,GAAG,CAACF,QAAQ,CAACG,SAAS,CAACD,MAAM,CAAC,EAAEE,QAAQ,EAAEC,OAAO,CAAC,CAACC,SAAS,CAACV,aAAa,CAAC;AAC1F;AAEA,eAAe;EACb,GAAGG,SAAS;EAEZQ,SAASA,CACPC,MAA0B,EAAAC,IAAA,EAAAC,KAAA,EAWlB;IAAA,IAVR;MACEC,GAAG;MAAER,SAAS;MAAEC,QAAQ;MAAEC,OAAO;MAAEO;IAOrC,CAAC,GAAAH,IAAA;IAAA,IACD;MAAEP,MAAM,GAAG;IAAyB,CAAC,GAAAQ,KAAA;IAErC,IAAIE,kBAAkB,IAAI,IAAI,EAAE,OAAOb,SAAS,CAACQ,SAAS,CAACK,kBAAkB,CAAC;IAE9E,MAAMC,WAAW,GAAGF,GAAG,KAAKd,GAAG,CAACiB,QAAQ,GAAGhB,gBAAgB,GAAGG,oBAAoB,CAChFC,MAAM,EACLa,QAAQ,IAAKZ,SAAS,CAAC;MAAES,kBAAkB,EAAEG,QAAQ;MAAEC,cAAc,EAAE;IAAK,CAAC,CAAC,EAC/EZ,QAAQ,EACRC,OACF,CAAC;IACD,MAAMY,KAAK,GAAGT,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIK,WAAW;IACnC,IAAII,KAAK,GAAGJ,WAAW,EAAE;MACvB,MAAM,IAAIlB,oBAAoB,CAAE,aAAYsB,KAAM,6BAA4BJ,WAAY,EAAC,CAAC;IAC9F;IACA,OAAOd,SAAS,CAACQ,SAAS,CAACU,KAAK,CAAC;EACnC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gas-price.mjs","names":["coinAmount","IllegalArgumentError","MIN_GAS_PRICE","serializeAettos","value","arguments","length","undefined","toString"],"sources":["../../../../src/tx/builder/field-types/gas-price.ts"],"sourcesContent":["import coinAmount from './coin-amount';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE } from '../constants';\n\nexport default {\n ...coinAmount,\n\n serializeAettos(value: string | undefined = MIN_GAS_PRICE.toString()): string {\n if (+value < MIN_GAS_PRICE) {\n throw new IllegalArgumentError(`Gas price ${value.toString()} must be bigger then ${MIN_GAS_PRICE}`);\n }\n return value;\n },\n};\n"],"mappings":"OAAOA,UAAU;AAAA,SACRC,oBAAoB;AAAA,SACpBC,aAAa;AAEtB,eAAe;EACb,GAAGF,UAAU;EAEbG,eAAeA,CAAA,EAA+D;IAAA,IAA9DC,KAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,aAAa,CAACM,QAAQ,EAAE;IAClE,IAAI,CAACJ,KAAK,GAAGF,aAAa,EAAE;MAC1B,MAAM,IAAID,oBAAoB,CAAE,aAAYG,KAAK,CAACI,QAAQ,EAAG,wBAAuBN,aAAc,EAAC,CAAC;IACtG;IACA,OAAOE,KAAK;EACd;AACF,CAAC"}
1
+ {"version":3,"file":"gas-price.mjs","names":["coinAmount","IllegalArgumentError","MIN_GAS_PRICE","serializeAettos","value","arguments","length","undefined","toString"],"sources":["../../../../src/tx/builder/field-types/gas-price.ts"],"sourcesContent":["import coinAmount from './coin-amount';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE } from '../constants';\n\nexport default {\n ...coinAmount,\n\n serializeAettos(value: string | undefined = MIN_GAS_PRICE.toString()): string {\n if (+value < MIN_GAS_PRICE) {\n throw new IllegalArgumentError(`Gas price ${value.toString()} must be bigger then ${MIN_GAS_PRICE}`);\n }\n return value;\n },\n};\n"],"mappings":"OAAOA,UAAU;AAAA,SACRC,oBAAoB;AAAA,SACpBC,aAAa;AAEtB,eAAe;EACb,GAAGF,UAAU;EAEbG,eAAeA,CAAA,EAA+D;IAAA,IAA9DC,KAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,aAAa,CAACM,QAAQ,CAAC,CAAC;IAClE,IAAI,CAACJ,KAAK,GAAGF,aAAa,EAAE;MAC1B,MAAM,IAAID,oBAAoB,CAAE,aAAYG,KAAK,CAACI,QAAQ,CAAC,CAAE,wBAAuBN,aAAc,EAAC,CAAC;IACtG;IACA,OAAOE,KAAK;EACd;AACF,CAAC"}
@@ -1,154 +1,32 @@
1
1
  /// <reference types="node" />
2
- import _address from './address';
3
- import _array from './array';
4
- import _encoded from './encoded';
5
- import _entry from './entry';
6
- import _enumeration from './enumeration';
7
- import _map from './map';
8
- import _mptree from './mptree';
9
- import _nonce from './nonce';
10
- import _shortUIntConst from './short-u-int-const';
11
- import _wrapped from './wrapped';
12
- declare const abiVersion: {
13
- _getProtocolDetails(c: import("../constants").ConsensusProtocolVersion, tag: import("../constants").Tag): import("../constants").AbiVersion;
14
- serialize(value: import("../constants").AbiVersion | undefined, { tag }: {
15
- tag: import("../constants").Tag;
16
- }, { consensusProtocolVersion }: {
17
- consensusProtocolVersion?: import("../constants").ConsensusProtocolVersion | undefined;
18
- }): Buffer;
19
- prepare(value: import("../constants").AbiVersion | undefined, { tag }: {
20
- tag: import("../constants").Tag;
21
- }, options: {
22
- consensusProtocolVersion?: import("../constants").ConsensusProtocolVersion | undefined;
23
- onNode?: import("../../..").Node | undefined;
24
- }): Promise<import("../constants").AbiVersion | undefined>;
25
- deserialize(buffer: Buffer): import("../constants").AbiVersion;
26
- };
27
- declare const address: typeof _address;
28
- declare const array: typeof _array;
29
- declare const boolean: {
30
- serialize(value: boolean): Buffer;
31
- deserialize(buffer: Buffer): boolean;
32
- };
33
- declare const coinAmount: {
34
- serializeAettos(value: string | undefined, params: {}): string;
35
- serialize(value: import("../constants").Int | undefined, params: {}, { denomination }: {
36
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
37
- }): Buffer;
38
- deserialize(value: Buffer): string;
39
- };
40
- declare const ctVersion: {
41
- serialize(value: import("./ct-version").CtVersion | undefined, params: {}, { consensusProtocolVersion }: {
42
- consensusProtocolVersion?: import("../constants").ConsensusProtocolVersion | undefined;
43
- }): Buffer;
44
- prepare(value: import("./ct-version").CtVersion | undefined, params: {}, options: {
45
- consensusProtocolVersion?: import("../constants").ConsensusProtocolVersion | undefined;
46
- onNode?: import("../../..").Node | undefined;
47
- }): Promise<import("./ct-version").CtVersion | undefined>;
48
- deserialize(buffer: Buffer): import("./ct-version").CtVersion;
49
- };
50
- declare const deposit: {
51
- serialize(value: import("../constants").Int | undefined, options: {}, parameters: {
52
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
53
- }): Buffer;
54
- serializeAettos(value: string | undefined, params: {}): string;
55
- deserialize(value: Buffer): string;
56
- };
57
- declare const encoded: typeof _encoded;
58
- declare const entry: typeof _entry;
59
- declare const enumeration: typeof _enumeration;
60
- declare const fee: {
61
- serializeAettos(_value: string | undefined, { rebuildTx, unpackTx, buildTx, _computingMinFee, _pickBiggerFee, }: {
62
- rebuildTx: (params: any) => `tx_${string}`;
63
- unpackTx: typeof import("..").unpackTx;
64
- buildTx: typeof import("..").buildTx;
65
- _computingMinFee?: import("bignumber.js").BigNumber | undefined;
66
- _pickBiggerFee?: boolean | undefined;
67
- }): string;
68
- serialize(value: import("../constants").Int | undefined, params: {}, { denomination }: {
69
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
70
- }): Buffer;
71
- deserialize(value: Buffer): string;
72
- };
73
- declare const field: {
74
- serialize(value: string): Buffer;
75
- deserialize(value: Buffer): string;
76
- };
77
- declare const gasLimit: {
78
- serialize(_value: number | undefined, { tag, rebuildTx, unpackTx, buildTx, _computingGasLimit, }: {
79
- tag: import("../constants").Tag;
80
- rebuildTx: (params: any) => any;
81
- unpackTx: typeof import("..").unpackTx;
82
- buildTx: typeof import("..").buildTx;
83
- _computingGasLimit?: number | undefined;
84
- }, { gasMax }: {
85
- gasMax?: number | undefined;
86
- }): Buffer;
87
- deserialize(value: Buffer): number;
88
- };
89
- declare const gasPrice: {
90
- serializeAettos(value?: string | undefined): string;
91
- serialize(value: import("../constants").Int | undefined, params: {}, { denomination }: {
92
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
93
- }): Buffer;
94
- deserialize(value: Buffer): string;
95
- };
96
- declare const map: typeof _map;
97
- declare const mptree: typeof _mptree;
98
- declare const name: {
99
- serialize(value: `${string}.chain`): Buffer;
100
- deserialize(value: Buffer): `${string}.chain`;
101
- };
102
- declare const nameFee: {
103
- serializeAettos(_value: string | undefined, txFields: {
104
- name: `${string}.chain`;
105
- }): string;
106
- serialize(value: import("../constants").Int | undefined, txFields: {
107
- name: `${string}.chain`;
108
- }, parameters: {
109
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
110
- }): Buffer;
111
- deserialize(value: Buffer): string;
112
- };
113
- declare const nameId: {
114
- serialize(value: `${string}.chain` | `nm_${string}`): Buffer;
115
- deserialize: (value: Buffer) => `nm_${string}`;
116
- };
117
- declare const nonce: typeof _nonce;
118
- declare const pointers: {
119
- serialize(pointers: (import("../../../apis/node").NamePointer & {
120
- id: `ch_${string}` | `ct_${string}` | `ok_${string}` | `ak_${string}` | `cm_${string}` | `nm_${string}`;
121
- })[]): Buffer[][];
122
- deserialize(pointers: [key: Buffer, id: Buffer][]): (import("../../../apis/node").NamePointer & {
123
- id: `ch_${string}` | `ct_${string}` | `ok_${string}` | `ak_${string}` | `cm_${string}` | `nm_${string}`;
124
- })[];
125
- };
126
- declare const raw: {
127
- serialize(buffer: Uint8Array): Buffer;
128
- deserialize(buffer: Buffer): Buffer;
129
- };
130
- declare const shortUInt: {
131
- serialize(value: number): Buffer;
132
- deserialize(value: Buffer): number;
133
- };
134
- declare const shortUIntConst: typeof _shortUIntConst;
135
- declare const string: {
136
- serialize(string: string): Buffer;
137
- deserialize(buffer: Buffer): string;
138
- };
139
- declare const ttl: {
140
- serialize(value: number | undefined): Buffer;
141
- prepare(value: number | undefined, params: {}, { onNode, absoluteTtl }: {
142
- onNode?: import("../../..").Node | undefined;
143
- absoluteTtl?: boolean | undefined;
144
- }): Promise<number | undefined>;
145
- deserialize(value: Buffer): number;
146
- };
147
- declare const uInt: {
148
- serialize(value: import("../constants").Int): Buffer;
149
- deserialize(value: Buffer): string;
150
- };
151
- declare const wrapped: typeof _wrapped;
2
+ import abiVersion from './abi-version';
3
+ import address from './address';
4
+ import array from './array';
5
+ import boolean from './boolean';
6
+ import coinAmount from './coin-amount';
7
+ import ctVersion from './ct-version';
8
+ import deposit from './deposit';
9
+ import encoded from './encoded';
10
+ import entry from './entry';
11
+ import enumeration from './enumeration';
12
+ import fee from './fee';
13
+ import field from './field';
14
+ import gasLimit from './gas-limit';
15
+ import gasPrice from './gas-price';
16
+ import map from './map';
17
+ import mptree from './mptree';
18
+ import name from './name';
19
+ import nameFee from './name-fee';
20
+ import nameId from './name-id';
21
+ import nonce from './nonce';
22
+ import pointers from './pointers';
23
+ import raw from './raw';
24
+ import shortUInt from './short-u-int';
25
+ import shortUIntConst from './short-u-int-const';
26
+ import string from './string';
27
+ import ttl from './ttl';
28
+ import uInt from './u-int';
29
+ import wrapped from './wrapped';
152
30
  export type BinaryData = Buffer | Buffer[] | Buffer[][] | Array<[Buffer, Array<[Buffer, Buffer[]]>]>;
153
31
  export interface Field {
154
32
  serialize: (value: any, options: any, parameters: any) => BinaryData;