@aeternity/aepp-sdk 10.0.0 → 11.0.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.
- package/README.md +15 -14
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +7 -27
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +1 -1
- package/dist/aepp-sdk.js.map +1 -1
- package/es/account/{base.js → base.mjs} +20 -10
- package/es/account/base.mjs.map +1 -0
- package/es/account/{memory.js → memory.mjs} +29 -14
- package/es/account/memory.mjs.map +1 -0
- package/es/account/{multiple.js → multiple.mjs} +10 -9
- package/es/account/multiple.mjs.map +1 -0
- package/es/ae/{aens.js → aens.mjs} +18 -22
- package/es/ae/aens.mjs.map +1 -0
- package/es/ae/{aepp.js → aepp.mjs} +9 -9
- package/es/ae/aepp.mjs.map +1 -0
- package/es/ae/contract.mjs +159 -0
- package/es/ae/contract.mjs.map +1 -0
- package/es/ae/{index.js → index.mjs} +8 -7
- package/es/ae/index.mjs.map +1 -0
- package/es/ae/{oracle.js → oracle.mjs} +33 -16
- package/es/ae/oracle.mjs.map +1 -0
- package/es/ae/{universal.js → universal.mjs} +10 -10
- package/es/ae/universal.mjs.map +1 -0
- package/es/ae/{wallet.js → wallet.mjs} +10 -10
- package/es/ae/wallet.mjs.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +74 -0
- package/es/bignumber.d.ts +1 -7
- package/es/chain/{index.js → index.mjs} +20 -4
- package/es/chain/index.mjs.map +1 -0
- package/es/chain/{node.js → node.mjs} +121 -73
- package/es/chain/node.mjs.map +1 -0
- package/es/channel/{handlers.js → handlers.mjs} +18 -20
- package/es/channel/handlers.mjs.map +1 -0
- package/es/channel/{index.js → index.mjs} +7 -7
- package/es/channel/index.mjs.map +1 -0
- package/es/channel/{internal.js → internal.mjs} +49 -32
- package/es/channel/internal.mjs.map +1 -0
- package/es/contract/aci.mjs +477 -0
- package/es/contract/aci.mjs.map +1 -0
- package/es/contract/compiler.mjs +115 -0
- package/es/contract/compiler.mjs.map +1 -0
- package/es/contract/ga/helpers.mjs +30 -0
- package/es/contract/ga/helpers.mjs.map +1 -0
- package/es/contract/ga/{index.js → index.mjs} +36 -28
- package/es/contract/ga/index.mjs.map +1 -0
- package/es/errors.d.ts +284 -0
- package/es/index.mjs +57 -0
- package/es/index.mjs.map +1 -0
- package/es/node-pool/{index.js → index.mjs} +11 -10
- package/es/node-pool/index.mjs.map +1 -0
- package/es/{node.js → node.mjs} +9 -8
- package/es/node.mjs.map +1 -0
- package/es/tx/builder/field-types.mjs +74 -0
- package/es/tx/builder/field-types.mjs.map +1 -0
- package/es/tx/builder/{helpers.js → helpers.mjs} +114 -56
- package/es/tx/builder/helpers.mjs.map +1 -0
- package/es/tx/builder/{index.js → index.mjs} +79 -68
- package/es/tx/builder/index.mjs.map +1 -0
- package/es/tx/builder/{schema.js → schema.mjs} +11 -65
- package/es/tx/builder/schema.mjs.map +1 -0
- package/es/tx/{index.js → index.mjs} +5 -2
- package/es/tx/index.mjs.map +1 -0
- package/es/tx/{tx-object.js → tx-object.mjs} +22 -15
- package/es/tx/tx-object.mjs.map +1 -0
- package/es/tx/{tx.js → tx.mjs} +15 -14
- package/es/tx/tx.mjs.map +1 -0
- package/es/tx/{validator.js → validator.mjs} +72 -33
- package/es/tx/validator.mjs.map +1 -0
- package/es/typings/blakejs/index.d.mjs +2 -0
- package/es/typings/blakejs/{index.d.js.map → index.d.mjs.map} +1 -1
- package/es/utils/aepp-wallet-communication/connection/{browser-runtime.js → browser-runtime.mjs} +7 -6
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/connection/{browser-window-message.js → browser-window-message.mjs} +10 -11
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/connection/{index.js → index.mjs} +5 -2
- package/es/utils/aepp-wallet-communication/connection/index.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/{content-script-bridge.js → content-script-bridge.mjs} +6 -5
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/{helpers.js → helpers.mjs} +3 -14
- package/es/utils/aepp-wallet-communication/helpers.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/rpc/{aepp-rpc.js → aepp-rpc.mjs} +113 -67
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/rpc/{rpc-client.js → rpc-client.mjs} +14 -9
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/rpc/{wallet-rpc.js → wallet-rpc.mjs} +71 -63
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/schema.mjs +102 -0
- package/es/utils/aepp-wallet-communication/schema.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/{wallet-detector.js → wallet-detector.mjs} +6 -5
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
- package/es/utils/{amount-formatter.js → amount-formatter.mjs} +14 -7
- package/es/utils/amount-formatter.mjs.map +1 -0
- package/es/utils/{async-init.js → async-init.mjs} +8 -11
- package/es/utils/async-init.mjs.map +1 -0
- package/es/utils/{bignumber.js → bignumber.mjs} +2 -9
- package/es/utils/bignumber.mjs.map +1 -0
- package/es/utils/{bytes.js → bytes.mjs} +16 -8
- package/es/utils/bytes.mjs.map +1 -0
- package/es/utils/{crypto-ts.js → crypto-ts.mjs} +11 -3
- package/es/utils/crypto-ts.mjs.map +1 -0
- package/es/utils/{crypto.js → crypto.mjs} +40 -105
- package/es/utils/crypto.mjs.map +1 -0
- package/es/utils/errors.mjs +689 -0
- package/es/utils/errors.mjs.map +1 -0
- package/es/utils/{hd-wallet.js → hd-wallet.mjs} +33 -34
- package/es/utils/hd-wallet.mjs.map +1 -0
- package/es/utils/{json-big.js → json-big.mjs} +1 -1
- package/es/utils/{json-big.js.map → json-big.mjs.map} +1 -1
- package/es/utils/{keystore.js → keystore.mjs} +63 -51
- package/es/utils/keystore.mjs.map +1 -0
- package/es/utils/{mptree.js → mptree.mjs} +21 -12
- package/es/utils/mptree.mjs.map +1 -0
- package/es/utils/{other.js → other.mjs} +2 -2
- package/es/utils/other.mjs.map +1 -0
- package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
- package/es/utils/{semver-satisfies.js.map → semver-satisfies.mjs.map} +1 -1
- package/es/utils/{string.js → string.mjs} +1 -1
- package/es/utils/{string.js.map → string.mjs.map} +1 -1
- package/es/utils/{swagger.js → swagger.mjs} +46 -14
- package/es/utils/swagger.mjs.map +1 -0
- package/package.json +46 -55
- package/src/account/memory.js +13 -8
- package/src/account/multiple.js +12 -4
- package/src/ae/aens.js +12 -17
- package/src/ae/aepp.js +2 -2
- package/src/ae/contract.js +15 -152
- package/src/ae/index.js +2 -1
- package/src/ae/oracle.js +25 -10
- package/src/ae/universal.js +2 -2
- package/src/ae/wallet.js +2 -2
- package/src/chain/index.js +21 -2
- package/src/chain/node.js +80 -53
- package/src/channel/handlers.js +20 -17
- package/src/channel/internal.js +30 -24
- package/src/contract/{aci/index.js → aci.js} +152 -93
- package/src/contract/compiler.js +22 -117
- package/src/contract/ga/helpers.js +7 -5
- package/src/contract/ga/index.js +27 -24
- package/src/index.js +7 -8
- package/src/node-pool/index.js +9 -8
- package/src/node.js +5 -7
- package/src/tx/builder/field-types.js +61 -0
- package/src/tx/builder/helpers.js +113 -58
- package/src/tx/builder/index.js +39 -34
- package/src/tx/builder/schema.js +11 -25
- package/src/tx/tx-object.js +10 -9
- package/src/tx/tx.js +17 -8
- package/src/tx/validator.js +25 -5
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +8 -3
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +10 -6
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +5 -4
- package/src/utils/aepp-wallet-communication/helpers.js +2 -12
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +81 -55
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +15 -6
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +60 -49
- package/src/utils/aepp-wallet-communication/schema.ts +80 -0
- package/src/utils/aepp-wallet-communication/wallet-detector.js +3 -2
- package/src/utils/amount-formatter.ts +4 -3
- package/src/utils/async-init.js +10 -6
- package/src/utils/bignumber.ts +1 -9
- package/src/utils/bytes.ts +3 -2
- package/src/utils/crypto-ts.ts +2 -2
- package/src/utils/crypto.js +9 -92
- package/src/utils/errors.ts +683 -0
- package/src/utils/hd-wallet.js +11 -26
- package/src/utils/keystore.js +47 -51
- package/src/utils/mptree.ts +12 -6
- package/src/utils/swagger.js +67 -44
- package/CHANGELOG.md +0 -1603
- package/es/account/base.js.map +0 -1
- package/es/account/memory.js.map +0 -1
- package/es/account/multiple.js.map +0 -1
- package/es/ae/aens.js.map +0 -1
- package/es/ae/aepp.js.map +0 -1
- package/es/ae/contract.js +0 -312
- package/es/ae/contract.js.map +0 -1
- package/es/ae/index.js.map +0 -1
- package/es/ae/oracle.js.map +0 -1
- package/es/ae/universal.js.map +0 -1
- package/es/ae/wallet.js.map +0 -1
- package/es/chain/index.js.map +0 -1
- package/es/chain/node.js.map +0 -1
- package/es/channel/handlers.js.map +0 -1
- package/es/channel/index.js.map +0 -1
- package/es/channel/internal.js.map +0 -1
- package/es/contract/aci/helpers.js +0 -298
- package/es/contract/aci/helpers.js.map +0 -1
- package/es/contract/aci/index.js +0 -361
- package/es/contract/aci/index.js.map +0 -1
- package/es/contract/aci/transformation.js +0 -66
- package/es/contract/aci/transformation.js.map +0 -1
- package/es/contract/compiler.js +0 -244
- package/es/contract/compiler.js.map +0 -1
- package/es/contract/ga/helpers.js +0 -22
- package/es/contract/ga/helpers.js.map +0 -1
- package/es/contract/ga/index.js.map +0 -1
- package/es/contract/index.js +0 -162
- package/es/contract/index.js.map +0 -1
- package/es/index.js +0 -57
- package/es/index.js.map +0 -1
- package/es/node-pool/index.js.map +0 -1
- package/es/node.js.map +0 -1
- package/es/tx/builder/helpers.js.map +0 -1
- package/es/tx/builder/index.js.map +0 -1
- package/es/tx/builder/schema.js.map +0 -1
- package/es/tx/index.js.map +0 -1
- package/es/tx/tx-object.js.map +0 -1
- package/es/tx/tx.js.map +0 -1
- package/es/tx/validator.js.map +0 -1
- package/es/typings/blakejs/index.d.js +0 -2
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
- package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
- package/es/utils/aepp-wallet-communication/schema.js +0 -107
- package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
- package/es/utils/amount-formatter.js.map +0 -1
- package/es/utils/async-init.js.map +0 -1
- package/es/utils/bignumber.js.map +0 -1
- package/es/utils/bytes.js.map +0 -1
- package/es/utils/crypto-ts.js.map +0 -1
- package/es/utils/crypto.js.map +0 -1
- package/es/utils/hd-wallet.js.map +0 -1
- package/es/utils/keystore.js.map +0 -1
- package/es/utils/mptree.js.map +0 -1
- package/es/utils/other.js.map +0 -1
- package/es/utils/swagger.js.map +0 -1
- package/src/contract/aci/transformation.js +0 -72
- package/src/contract/index.js +0 -163
- package/src/utils/aepp-wallet-communication/schema.js +0 -108
package/es/index.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2018 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
|
-
import * as Crypto from './utils/crypto';
|
|
18
|
-
import * as Keystore from './utils/keystore';
|
|
19
|
-
import * as Bytes from './utils/bytes';
|
|
20
|
-
import * as TxBuilder from './tx/builder';
|
|
21
|
-
import * as TxBuilderHelper from './tx/builder/helpers';
|
|
22
|
-
import * as SCHEMA from './tx/builder/schema';
|
|
23
|
-
import * as ACITransformation from './contract/aci/transformation';
|
|
24
|
-
import * as AmountFormatter from './utils/amount-formatter';
|
|
25
|
-
import HdWallet from './utils/hd-wallet';
|
|
26
|
-
import Ae from './ae';
|
|
27
|
-
import Chain from './chain';
|
|
28
|
-
import ChainNode from './chain/node';
|
|
29
|
-
import Node from './node';
|
|
30
|
-
import NodePool from './node-pool';
|
|
31
|
-
import Tx from './tx';
|
|
32
|
-
import Transaction from './tx/tx';
|
|
33
|
-
import verifyTransaction from './tx/validator';
|
|
34
|
-
import AccountBase from './account/base';
|
|
35
|
-
import AccountMultiple from './account/multiple';
|
|
36
|
-
import MemoryAccount from './account/memory';
|
|
37
|
-
import Aens from './ae/aens';
|
|
38
|
-
import Contract from './ae/contract';
|
|
39
|
-
import GeneralizeAccount from './contract/ga';
|
|
40
|
-
import ContractCompilerAPI from './contract/compiler';
|
|
41
|
-
import RpcAepp from './ae/aepp';
|
|
42
|
-
import RpcWallet from './ae/wallet';
|
|
43
|
-
import Oracle from './ae/oracle';
|
|
44
|
-
import genSwaggerClient from './utils/swagger';
|
|
45
|
-
import Channel from './channel';
|
|
46
|
-
import Universal from './ae/universal';
|
|
47
|
-
export { default as ContentScriptBridge } from './utils/aepp-wallet-communication/content-script-bridge';
|
|
48
|
-
import * as _AeppWalletHelpers from './utils/aepp-wallet-communication/helpers';
|
|
49
|
-
export { _AeppWalletHelpers as AeppWalletHelpers };
|
|
50
|
-
import * as _AeppWalletSchema from './utils/aepp-wallet-communication/schema';
|
|
51
|
-
export { _AeppWalletSchema as AeppWalletSchema };
|
|
52
|
-
export { default as WalletDetector } from './utils/aepp-wallet-communication/wallet-detector';
|
|
53
|
-
export { default as BrowserRuntimeConnection } from './utils/aepp-wallet-communication/connection/browser-runtime';
|
|
54
|
-
export { default as BrowserWindowMessageConnection } from './utils/aepp-wallet-communication/connection/browser-window-message';
|
|
55
|
-
export const getDefaultPointerKey = TxBuilderHelper.getDefaultPointerKey;
|
|
56
|
-
export { AmountFormatter, AccountBase, AccountMultiple, Ae, Aens, Bytes, Contract, ContractCompilerAPI, ACITransformation, ChainNode, RpcAepp, RpcWallet, Channel, Crypto, Keystore, Chain, GeneralizeAccount, HdWallet, MemoryAccount, Node, NodePool, Oracle, genSwaggerClient, Transaction, verifyTransaction, Tx, TxBuilder, TxBuilderHelper, Universal, SCHEMA };
|
|
57
|
-
//# sourceMappingURL=index.js.map
|
package/es/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["Crypto","Keystore","Bytes","TxBuilder","TxBuilderHelper","SCHEMA","ACITransformation","AmountFormatter","HdWallet","Ae","Chain","ChainNode","Node","NodePool","Tx","Transaction","verifyTransaction","AccountBase","AccountMultiple","MemoryAccount","Aens","Contract","GeneralizeAccount","ContractCompilerAPI","RpcAepp","RpcWallet","Oracle","genSwaggerClient","Channel","Universal","default","ContentScriptBridge","AeppWalletHelpers","AeppWalletSchema","WalletDetector","BrowserRuntimeConnection","BrowserWindowMessageConnection","getDefaultPointerKey"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAO,KAAKA,MAAZ,MAAwB,gBAAxB;AACA,OAAO,KAAKC,QAAZ,MAA0B,kBAA1B;AACA,OAAO,KAAKC,KAAZ,MAAuB,eAAvB;AACA,OAAO,KAAKC,SAAZ,MAA2B,cAA3B;AACA,OAAO,KAAKC,eAAZ,MAAiC,sBAAjC;AACA,OAAO,KAAKC,MAAZ,MAAwB,qBAAxB;AACA,OAAO,KAAKC,iBAAZ,MAAmC,+BAAnC;AACA,OAAO,KAAKC,eAAZ,MAAiC,0BAAjC;AACA,OAAOC,QAAP,MAAqB,mBAArB;AAEA,OAAOC,EAAP,MAAe,MAAf;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,EAAP,MAAe,MAAf;AACA,OAAOC,WAAP,MAAwB,SAAxB;AACA,OAAOC,iBAAP,MAA8B,gBAA9B;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,OAAOC,IAAP,MAAiB,WAAjB;AACA,OAAOC,QAAP,MAAqB,eAArB;AACA,OAAOC,iBAAP,MAA8B,eAA9B;AACA,OAAOC,mBAAP,MAAgC,qBAAhC;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,MAAP,MAAmB,aAAnB;AACA,OAAOC,gBAAP,MAA6B,iBAA7B;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAOC,SAAP,MAAsB,gBAAtB;AAEA,SAASC,OAAO,IAAIC,mBAApB,QAA+C,yDAA/C;oCACmC,2C;+BAAvBC,iB;mCACsB,0C;8BAAtBC,gB;AACZ,SAASH,OAAO,IAAII,cAApB,QAA0C,mDAA1C;AACA,SAASJ,OAAO,IAAIK,wBAApB,QAAoD,8DAApD;AACA,SAASL,OAAO,IAAIM,8BAApB,QAA0D,qEAA1D;AAEA,OAAO,MAAMC,oBAAoB,GAAGjC,eAAe,CAACiC,oBAA7C;AAEP,SACE9B,eADF,EAEEU,WAFF,EAGEC,eAHF,EAIET,EAJF,EAKEW,IALF,EAMElB,KANF,EAOEmB,QAPF,EAQEE,mBARF,EASEjB,iBATF,EAUEK,SAVF,EAWEa,OAXF,EAYEC,SAZF,EAaEG,OAbF,EAcE5B,MAdF,EAeEC,QAfF,EAgBES,KAhBF,EAiBEY,iBAjBF,EAkBEd,QAlBF,EAmBEW,aAnBF,EAoBEP,IApBF,EAqBEC,QArBF,EAsBEa,MAtBF,EAuBEC,gBAvBF,EAwBEZ,WAxBF,EAyBEC,iBAzBF,EA0BEF,EA1BF,EA2BEX,SA3BF,EA4BEC,eA5BF,EA6BEyB,SA7BF,EA8BExB,MA9BF","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport * as Crypto from './utils/crypto'\nimport * as Keystore from './utils/keystore'\nimport * as Bytes from './utils/bytes'\nimport * as TxBuilder from './tx/builder'\nimport * as TxBuilderHelper from './tx/builder/helpers'\nimport * as SCHEMA from './tx/builder/schema'\nimport * as ACITransformation from './contract/aci/transformation'\nimport * as AmountFormatter from './utils/amount-formatter'\nimport HdWallet from './utils/hd-wallet'\n\nimport Ae from './ae'\nimport Chain from './chain'\nimport ChainNode from './chain/node'\nimport Node from './node'\nimport NodePool from './node-pool'\nimport Tx from './tx'\nimport Transaction from './tx/tx'\nimport verifyTransaction from './tx/validator'\nimport AccountBase from './account/base'\nimport AccountMultiple from './account/multiple'\nimport MemoryAccount from './account/memory'\nimport Aens from './ae/aens'\nimport Contract from './ae/contract'\nimport GeneralizeAccount from './contract/ga'\nimport ContractCompilerAPI from './contract/compiler'\nimport RpcAepp from './ae/aepp'\nimport RpcWallet from './ae/wallet'\nimport Oracle from './ae/oracle'\nimport genSwaggerClient from './utils/swagger'\nimport Channel from './channel'\nimport Universal from './ae/universal'\n\nexport { default as ContentScriptBridge } from './utils/aepp-wallet-communication/content-script-bridge'\nexport * as AeppWalletHelpers from './utils/aepp-wallet-communication/helpers'\nexport * as AeppWalletSchema from './utils/aepp-wallet-communication/schema'\nexport { default as WalletDetector } from './utils/aepp-wallet-communication/wallet-detector'\nexport { default as BrowserRuntimeConnection } from './utils/aepp-wallet-communication/connection/browser-runtime'\nexport { default as BrowserWindowMessageConnection } from './utils/aepp-wallet-communication/connection/browser-window-message'\n\nexport const getDefaultPointerKey = TxBuilderHelper.getDefaultPointerKey\n\nexport {\n AmountFormatter,\n AccountBase,\n AccountMultiple,\n Ae,\n Aens,\n Bytes,\n Contract,\n ContractCompilerAPI,\n ACITransformation,\n ChainNode,\n RpcAepp,\n RpcWallet,\n Channel,\n Crypto,\n Keystore,\n Chain,\n GeneralizeAccount,\n HdWallet,\n MemoryAccount,\n Node,\n NodePool,\n Oracle,\n genSwaggerClient,\n Transaction,\n verifyTransaction,\n Tx,\n TxBuilder,\n TxBuilderHelper,\n Universal,\n SCHEMA\n}\n"],"file":"index.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/node-pool/index.js"],"names":["stampit","getNetworkId","init","nodes","pool","Map","validateNodes","forEach","node","i","name","instance","addNode","length","selectNode","propertyDescriptors","api","enumerable","configurable","get","selectedNode","Error","methods","select","has","set","url","internalUrl","networkId","nodeNetworkId","version","consensusProtocolVersion","isNodeConnected","getNodeInfo","getNodesInPool","Array","from","entries","map","isArray","notObject","n","find","t","wrongFields","JSON","stringify","wrongInstanceFields","genesisHash","props"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,OAAP,MAAoB,WAApB;AACA,SAASC,YAAT,QAA6B,SAA7B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAeD,OAAO,CAAC;AACrBE,EAAAA,IAAI,GAAuB;AAAA,QAArB;AAAEC,MAAAA,KAAK,GAAG;AAAV,KAAqB,uEAAJ,EAAI;AACzB,SAAKC,IAAL,GAAY,IAAIC,GAAJ,EAAZ;AACA,SAAKC,aAAL,CAAmBH,KAAnB;AAEAA,IAAAA,KAAK,CAACI,OAAN,CAAc,CAACC,IAAD,EAAOC,CAAP,KAAa;AACzB,YAAM;AAAEC,QAAAA,IAAF;AAAQC,QAAAA;AAAR,UAAqBH,IAA3B;AACA,WAAKI,OAAL,CAAaF,IAAb,EAAmBC,QAAnB,EAA6BF,CAAC,KAAK,CAAnC;AACD,KAHD;AAIA,QAAIN,KAAK,CAACU,MAAV,EAAkB,KAAKC,UAAL,CAAgBX,KAAK,CAAC,CAAD,CAAL,CAASO,IAAzB;AACnB,GAVoB;;AAWrBK,EAAAA,mBAAmB,EAAE;AACnBC,IAAAA,GAAG,EAAE;AACHC,MAAAA,UAAU,EAAE,IADT;AAEHC,MAAAA,YAAY,EAAE,KAFX;;AAGHC,MAAAA,GAAG,GAAI;AACL,YAAI,CAAC,KAAKC,YAAN,IAAsB,CAAC,KAAKA,YAAL,CAAkBT,QAA7C,EAAuD;AACrD,gBAAM,IAAIU,KAAJ,CAAU,gEAAV,CAAN;AACD;;AACD,eAAO,KAAKD,YAAL,CAAkBT,QAAlB,CAA2BK,GAAlC;AACD;;AARE;AADc,GAXA;AAuBrBM,EAAAA,OAAO,EAAE;AACP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIV,IAAAA,OAAO,CAAEF,IAAF,EAAQF,IAAR,EAA8B;AAAA,UAAhBe,MAAgB,uEAAP,KAAO;AACnC,UAAI,KAAKnB,IAAL,CAAUoB,GAAV,CAAcd,IAAd,CAAJ,EAAyB,MAAM,IAAIW,KAAJ,CAAW,kBAAiBX,IAAK,gBAAjC,CAAN;AAEzB,WAAKJ,aAAL,CAAmB,CAAC;AAAEI,QAAAA,IAAF;AAAQC,QAAAA,QAAQ,EAAEH;AAAlB,OAAD,CAAnB;AAEA,WAAKJ,IAAL,CAAUqB,GAAV,CAAcf,IAAd,EAAoB;AAClBA,QAAAA,IADkB;AAElBC,QAAAA,QAAQ,EAAEH,IAFQ;AAGlBkB,QAAAA,GAAG,EAAElB,IAAI,CAACkB,GAHQ;AAIlBC,QAAAA,WAAW,EAAEnB,IAAI,CAACmB,WAJA;AAKlBC,QAAAA,SAAS,EAAEpB,IAAI,CAACqB,aALE;AAMlBC,QAAAA,OAAO,EAAEtB,IAAI,CAACsB,OANI;AAOlBC,QAAAA,wBAAwB,EAAEvB,IAAI,CAACuB;AAPb,OAApB;;AASA,UAAIR,MAAM,IAAI,CAAC,KAAKH,YAApB,EAAkC;AAChC,aAAKN,UAAL,CAAgBJ,IAAhB;AACD;AACF,KA/BM;;AAgCP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACII,IAAAA,UAAU,CAAEJ,IAAF,EAAQ;AAChB,UAAI,CAAC,KAAKN,IAAL,CAAUoB,GAAV,CAAcd,IAAd,CAAL,EAA0B,MAAM,IAAIW,KAAJ,CAAW,kBAAiBX,IAAK,cAAjC,CAAN;AAE1B,WAAKU,YAAL,GAAoB,KAAKhB,IAAL,CAAUe,GAAV,CAAcT,IAAd,CAApB;AACD,KA9CM;;AA+CP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIT,IAAAA,YAxDO;;AAyDP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI+B,IAAAA,eAAe,GAAI;AACjB,aAAO,CAAC,CAAC,KAAKZ,YAAL,CAAkBT,QAA3B;AACD,KApEM;;AAqEP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIsB,IAAAA,WAAW,GAAI;AACb,UAAI,CAAC,KAAKD,eAAL,EAAL,EAA6B,MAAM,IAAIX,KAAJ,CAAU,8CAAV,CAAN;AAC7B,aAAO;AACLX,QAAAA,IAAI,EAAE,KAAKU,YAAL,CAAkBV,IADnB;AAEL,WAAG,KAAKU,YAAL,CAAkBT,QAAlB,CAA2BsB,WAA3B;AAFE,OAAP;AAID,KApFM;;AAqFP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,IAAAA,cAAc,GAAI;AAChB,aAAOC,KAAK,CAACC,IAAN,CAAW,KAAKhC,IAAL,CAAUiC,OAAV,EAAX,EAAgCC,GAAhC,CAAoC;AAAA,YAAC,CAAC5B,IAAD,EAAOF,IAAP,CAAD;AAAA,eAAmB;AAC5DE,UAAAA,IAD4D;AAE5D,aAAGF,IAAI,CAACG,QAAL,CAAcsB,WAAd;AAFyD,SAAnB;AAAA,OAApC,CAAP;AAID,KAnGM;;AAoGP3B,IAAAA,aAAa,CAAEH,KAAF,EAAS;AACpB;AACA;AACA,UAAI,CAACgC,KAAK,CAACI,OAAN,CAAcpC,KAAd,CAAL,EAA2B,MAAM,IAAIkB,KAAJ,CAAU,4BAAV,CAAN;AAC3B,YAAMmB,SAAS,GAAGrC,KAAK,CAACmC,GAAN,CAAUG,CAAC,IAAI,OAAOA,CAAtB,EAAyBC,IAAzB,CAA8BC,CAAC,IAAIA,CAAC,KAAK,QAAzC,CAAlB;AACA,UAAIH,SAAJ,EAAe,MAAM,IAAInB,KAAJ,CAAW,sCAAqCmB,SAAU,UAA1D,CAAN;AACf,YAAMI,WAAW,GAAGzC,KAAK,CAACuC,IAAN,CAAWD,CAAC,IAAI,OAAOA,CAAC,CAAC/B,IAAT,KAAkB,QAAlB,IAA8B,OAAO+B,CAAC,CAAC9B,QAAT,KAAsB,QAApE,CAApB;;AACA,UAAI6B,SAAJ,EAAe;AACb,cAAM,IAAInB,KAAJ,CACJ,4DACC,eAAcwB,IAAI,CAACC,SAAL,CAAeF,WAAf,CAA4B,UAFvC,CAAN;AAID;;AACD,YAAMG,mBAAmB,GAAG5C,KAAK,CAC9BmC,GADyB,CACrBG,CAAC,IAAIA,CAAC,CAAC9B,QADc,EAEzB+B,IAFyB,CAEpBjC,CAAC,IAAI,OAAOA,CAAC,CAACO,GAAT,KAAiB,QAAjB,IAA6B,OAAOP,CAAC,CAACuC,WAAT,KAAyB,QAAtD,IACT,OAAOvC,CAAC,CAACsB,wBAAT,KAAsC,QAHd,CAA5B;;AAIA,UAAIgB,mBAAJ,EAAyB;AACvB,cAAM,IAAI1B,KAAJ,CACJ,qFACC,oCAAmCwB,IAAI,CAACC,SAAL,CAAeC,mBAAf,CAAoC,UAFpE,CAAN;AAID;AACF;;AA3HM,GAvBY;AAoJrBE,EAAAA,KAAK,EAAE;AACL7B,IAAAA,YAAY,EAAE;AADT;AApJc,CAAD,CAAtB","sourcesContent":["/**\n * NodePool module\n * @module @aeternity/aepp-sdk/es/node-pool\n * @export NodePool\n * @example import { NodePool } from '@aeternity/aepp-sdk'\n */\nimport stampit from '@stamp/it'\nimport { getNetworkId } from '../node'\n\n/**\n * Node Pool Stamp\n * This stamp allow you to make basic manipulation(add, remove, select) on list of nodes\n * @function\n * @alias module:@aeternity/aepp-sdk/es/node-pool\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @param {Array} [options.nodes] - Array with Node instances\n * @return {Object} NodePool instance\n */\nexport default stampit({\n init ({ nodes = [] } = {}) {\n this.pool = new Map()\n this.validateNodes(nodes)\n\n nodes.forEach((node, i) => {\n const { name, instance } = node\n this.addNode(name, instance, i === 0)\n })\n if (nodes.length) this.selectNode(nodes[0].name)\n },\n propertyDescriptors: {\n api: {\n enumerable: true,\n configurable: false,\n get () {\n if (!this.selectedNode || !this.selectedNode.instance) {\n throw new Error('You can\\'t use Node API. Node is not connected or not defined!')\n }\n return this.selectedNode.instance.api\n }\n }\n },\n methods: {\n /**\n * Add Node\n * @function\n * @alias module:@aeternity/aepp-sdk/es/node-pool\n * @rtype (name: String, nodeInstance: Object, select: Boolean) => void\n * @param {String} name - Node name\n * @param {Object} node - Node instance\n * @param {Boolean} select - Select this node as current\n * @return {void}\n * @example\n * // add and select new node with name 'testNode'\n * nodePool.addNode('testNode', awaitNode({ url, internalUrl }), true)\n */\n addNode (name, node, select = false) {\n if (this.pool.has(name)) throw new Error(`Node with name ${name} already exist`)\n\n this.validateNodes([{ name, instance: node }])\n\n this.pool.set(name, {\n name,\n instance: node,\n url: node.url,\n internalUrl: node.internalUrl,\n networkId: node.nodeNetworkId,\n version: node.version,\n consensusProtocolVersion: node.consensusProtocolVersion\n })\n if (select || !this.selectedNode) {\n this.selectNode(name)\n }\n },\n /**\n * Select Node\n * @function\n * @alias module:@aeternity/aepp-sdk/es/node-pool\n * @rtype (name: String) => void\n * @param {String} name - Node name\n * @return {void}\n * @example\n * nodePool.selectNode('testNode')\n */\n selectNode (name) {\n if (!this.pool.has(name)) throw new Error(`Node with name ${name} not in pool`)\n\n this.selectedNode = this.pool.get(name)\n },\n /**\n * Get NetworkId of current Node\n * @function\n * @alias module:@aeternity/aepp-sdk/es/node-pool\n * @rtype () => String\n * @return {String}\n * @example\n * nodePool.getNetworkId()\n */\n getNetworkId,\n /**\n * Check if you have selected node\n * @function\n * @alias module:@aeternity/aepp-sdk/es/node-pool\n * @rtype () => Boolean\n * @return {Boolean}\n * @example\n * nodePool.isNodeConnected()\n */\n isNodeConnected () {\n return !!this.selectedNode.instance\n },\n /**\n * Get information about node\n * @function\n * @alias module:@aeternity/aepp-sdk/es/node-pool\n * @rtype () => Object\n * @return {Object}\n * @example\n * nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }\n */\n getNodeInfo () {\n if (!this.isNodeConnected()) throw new Error('Can not get node info. Node is not connected')\n return {\n name: this.selectedNode.name,\n ...this.selectedNode.instance.getNodeInfo()\n }\n },\n /**\n * Get array of available nodes\n * @function\n * @alias module:@aeternity/aepp-sdk/es/node-pool\n * @rtype () => Object[]\n * @return {Object[]}\n * @example\n * nodePool.getNodesInPool()\n */\n getNodesInPool () {\n return Array.from(this.pool.entries()).map(([name, node]) => ({\n name,\n ...node.instance.getNodeInfo()\n }))\n },\n validateNodes (nodes) {\n // TODO: validate it on TypeScript level instead\n // (to speedup development, save runtime resources)\n if (!Array.isArray(nodes)) throw new Error('\"nodes\" should be an array')\n const notObject = nodes.map(n => typeof n).find(t => t !== 'object')\n if (notObject) throw new Error(`Each node should be an object, got ${notObject} instead`)\n const wrongFields = nodes.find(n => typeof n.name !== 'string' || typeof n.instance !== 'object')\n if (notObject) {\n throw new Error(\n 'Each node should have name (string), instance (object) ' +\n `fields, got ${JSON.stringify(wrongFields)} instead`\n )\n }\n const wrongInstanceFields = nodes\n .map(n => n.instance)\n .find(i => typeof i.api !== 'object' || typeof i.genesisHash !== 'string' ||\n typeof i.consensusProtocolVersion !== 'number')\n if (wrongInstanceFields) {\n throw new Error(\n 'Each node instance should have api (object), consensusProtocolVersion (number), ' +\n `genesisHash (string) fields, got ${JSON.stringify(wrongInstanceFields)} instead`\n )\n }\n }\n },\n props: {\n selectedNode: {}\n }\n})\n"],"file":"index.js"}
|
package/es/node.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/node.js"],"names":["AsyncInit","genSwaggerClient","semverSatisfies","getNetworkId","networkId","force","res","selectedNode","Error","Node","compose","init","url","internalUrl","ignoreVersion","replace","client","responseInterceptor","response","ok","Object","assign","statusText","URL","pathname","slice","body","reason","version","spec","info","NODE_GE_VERSION","NODE_LT_VERSION","api","nodeRevision","revision","genesisKeyBlockHash","genesisHash","protocols","topBlockHeight","getStatus","consensusProtocolVersion","filter","effectiveAtHeight","reduce","acc","p","nodeNetworkId","methods","getNodeInfo","props"],"mappings":"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","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2021 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Node module\n * @module @aeternity/aepp-sdk/es/node\n * @export Node\n * @example import { Node } from '@aeternity/aepp-sdk'\n */\n\nimport AsyncInit from './utils/async-init'\nimport genSwaggerClient from './utils/swagger'\nimport semverSatisfies from './utils/semver-satisfies'\n\n/**\n * Obtain networkId from account or node\n * @instance\n * @category async\n * @rtype () => networkId: String\n * @return {String} NetworkId\n */\nexport function getNetworkId ({ networkId, force = false } = {}) {\n const res = networkId || this.networkId || this.selectedNode?.networkId\n if (!force && !res) throw new Error('networkId is not provided')\n if (force && !res) return null\n return res\n}\n\n/**\n * {@link genSwaggerClient} based Node remote API Stamp\n * @function\n * @alias module:@aeternity/aepp-sdk/es/node\n * @rtype Stamp\n * @param {Object} [options={}] - Options\n * @param {String} options.url - Base URL for Node\n * @param {String} options.internalUrl - Base URL for internal requests\n * @param {Object} options.axiosConfig - Object with axios configuration\n * @param {Object} options.axiosConfig.config\n * @param {Function} options.axiosConfig.errorHandler - (err) => throw err\n * @return {Object} Node client\n * @example Node({url: 'https://testnet.aeternity.io'})\n */\nconst Node = AsyncInit.compose({\n async init ({ url, internalUrl, ignoreVersion }) {\n if (!url) throw new Error('\"url\" required')\n this.url = url.replace(/\\/$/, '')\n this.internalUrl = internalUrl ? internalUrl.replace(/\\/$/, '') : this.url\n const client = await genSwaggerClient(`${this.url}/api?oas3`, {\n internalUrl: this.internalUrl,\n responseInterceptor: response => {\n if (response.ok) return\n return Object.assign(response, {\n statusText: `${new URL(response.url).pathname.slice(1)} error: ` + response.body.reason\n })\n }\n })\n this.version = client.spec.info.version\n if (\n !semverSatisfies(this.version, NODE_GE_VERSION, NODE_LT_VERSION) &&\n !ignoreVersion\n ) {\n throw new Error(\n `Unsupported node version ${this.version}. ` +\n `Supported: >= ${NODE_GE_VERSION} < ${NODE_LT_VERSION}`\n )\n }\n this.api = client.api\n\n const {\n nodeRevision: revision, genesisKeyBlockHash: genesisHash, networkId,\n protocols, topBlockHeight\n } = await this.api.getStatus()\n this.consensusProtocolVersion = protocols\n .filter(({ effectiveAtHeight }) => topBlockHeight >= effectiveAtHeight)\n .reduce(\n (acc, p) => p.effectiveAtHeight > acc.effectiveAtHeight ? p : acc,\n { effectiveAtHeight: -1, version: 0 }\n )\n .version\n this.nodeNetworkId = networkId\n return Object.assign(this, { revision, genesisHash })\n },\n methods: {\n getNodeInfo () {\n return {\n url: this.url,\n internalUrl: this.internalUrl,\n nodeNetworkId: this.nodeNetworkId,\n version: this.version,\n consensusProtocolVersion: this.consensusProtocolVersion\n }\n }\n },\n props: {\n version: null,\n consensusProtocolVersion: null,\n nodeNetworkId: null\n }\n})\n\nconst NODE_GE_VERSION = '6.2.0'\nconst NODE_LT_VERSION = '7.0.0'\n\nexport default Node\n"],"file":"node.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tx/builder/helpers.js"],"names":["BigNumber","decodeBase58Check","decodeBase64Check","encodeBase58Check","encodeBase64Check","hash","salt","toBytes","ID_TAG_PREFIX","PREFIX_ID_TAG","NAME_BID_RANGES","NAME_BID_MAX_LENGTH","NAME_FEE","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUTS","NAME_MAX_LENGTH_FEE","POINTER_KEY_BY_PREFIX","ceil","createSalt","base64Types","buildContractId","ownerId","nonce","ownerIdAndNonce","Buffer","from","decode","b2bHash","encode","oracleQueryId","senderId","oracleId","_int32","val","nonceBE","concat","alloc","length","formatSalt","toString","padStart","produceNameId","name","ensureNameValid","toLowerCase","commitmentHash","data","requiredPrefix","prefix","payload","extra","split","Error","includes","type","writeId","hashId","slice","idTag","readId","buf","tag","readUIntBE","writeInt","readInt","buildPointers","pointers","map","p","key","id","readPointers","Object","assign","endsWith","isNameValid","error","getDefaultPointerKey","identifier","substr","getMinimumNameFee","domain","nameLength","replace","computeBidFee","startFee","increment","Number","eq","times","plus","computeAuctionEndBlock","claimHeight","isAuctionName"],"mappings":"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","sourcesContent":["import * as R from 'ramda'\nimport BigNumber from 'bignumber.js'\n\nimport {\n decodeBase58Check,\n decodeBase64Check,\n encodeBase58Check, encodeBase64Check,\n hash,\n salt\n} from '../../utils/crypto'\nimport { toBytes } from '../../utils/bytes'\nimport {\n ID_TAG_PREFIX,\n PREFIX_ID_TAG,\n NAME_BID_RANGES,\n NAME_BID_MAX_LENGTH,\n NAME_FEE,\n NAME_FEE_BID_INCREMENT,\n NAME_BID_TIMEOUTS,\n NAME_MAX_LENGTH_FEE,\n POINTER_KEY_BY_PREFIX\n} from './schema'\nimport { ceil } from '../../utils/bignumber'\n\n/**\n * JavaScript-based Transaction builder helper function's\n * @module @aeternity/aepp-sdk/es/tx/builder/helpers\n * @export TxBuilderHelper\n * @example import { TxBuilderHelper } from '@aeternity/aepp-sdk'\n */\n\nexport const createSalt = salt\n\nconst base64Types = ['tx', 'st', 'ss', 'pi', 'ov', 'or', 'cb', 'cs', 'ba']\n\n/**\n * Build a contract public key\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {string} ownerId The public key of the owner account\n * @param {number} nonce the nonce of the transaction\n * @return {string} Contract public key\n */\nexport function buildContractId (ownerId, nonce) {\n const ownerIdAndNonce = Buffer.from([...decode(ownerId, 'ak'), ...toBytes(nonce)])\n const b2bHash = hash(ownerIdAndNonce)\n return encode(b2bHash, 'ct')\n}\n\n/**\n * Build a oracle query id\n * @function\n * @function* @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {String} senderId The public key of the sender account\n * @param {Number} nonce the nonce of the transaction\n * @param {Number} oracleId The oracle public key\n * @return {string} Contract public key\n */\nexport function oracleQueryId (senderId, nonce, oracleId) {\n function _int32 (val) {\n const nonceBE = toBytes(val, true)\n return Buffer.concat([Buffer.alloc(32 - nonceBE.length), nonceBE])\n }\n\n const b2bHash = hash(Buffer.from([...decode(senderId, 'ak'), ..._int32(nonce), ...decode(oracleId, 'ok')]))\n return encode(b2bHash, 'oq')\n}\n\n/**\n * Format the salt into a 64-byte hex string\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {number} salt\n * @return {string} Zero-padded hex string of salt\n */\nexport function formatSalt (salt) {\n return Buffer.from(salt.toString(16).padStart(64, '0'), 'hex')\n}\n\n/**\n * Encode a domain name\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {String} name Name to encode\n * @return {String} `nm_` prefixed encoded domain name\n */\nexport function produceNameId (name) {\n ensureNameValid(name)\n return encode(hash(name.toLowerCase()), 'nm')\n}\n\n/**\n * Generate the commitment hash by hashing the formatted salt and\n * name, base 58 encoding the result and prepending 'cm_'\n *\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @function commitmentHash\n * @category async\n * @rtype (name: String, salt?: String) => hash: Promise[String]\n * @param {String} name - Name to be registered\n * @param {Number} salt Random salt\n * @return {String} Commitment hash\n */\nexport function commitmentHash (name, salt = createSalt()) {\n ensureNameValid(name)\n return `cm_${encodeBase58Check(hash(Buffer.concat([Buffer.from(name.toLowerCase()), formatSalt(salt)])))}`\n}\n\n/**\n * Decode data using the default encoding/decoding algorithm\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {string} data An Base58/64check encoded and prefixed string (ex tx_..., sg_..., ak_....)\n * @param {string} [requiredPrefix] Ensure that data have this prefix\n * @return {Buffer} Decoded data\n */\nexport function decode (data, requiredPrefix) {\n const [prefix, payload, extra] = data.split('_')\n if (!payload) throw new Error(`Encoded string missing payload: ${data}`)\n if (extra) throw new Error(`Encoded string have extra parts: ${data}`)\n if (requiredPrefix && requiredPrefix !== prefix) {\n throw new Error(`Encoded string have a wrong type: ${prefix} (expected: ${requiredPrefix})`)\n }\n return (base64Types.includes(prefix) ? decodeBase64Check : decodeBase58Check)(payload)\n}\n\n/**\n * Encode data using the default encoding/decoding algorithm\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {Buffer|String} data An decoded data\n * @param {string} type Prefix of Transaction\n * @return {String} Encoded string Base58check or Base64check data\n */\nexport function encode (data, type) {\n return `${type}_${base64Types.includes(type)\n ? encodeBase64Check(data)\n : encodeBase58Check(data)}`\n}\n\n/**\n * Utility function to create and _id type\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {string} hashId Encoded hash\n * @return {Buffer} Buffer Buffer with ID tag and decoded HASh\n */\nexport function writeId (hashId) {\n if (typeof hashId !== 'string') {\n throw new Error(`Address should be a string, got ${hashId} instead`)\n }\n const prefix = hashId.slice(0, 2)\n const idTag = PREFIX_ID_TAG[prefix]\n if (!idTag) throw new Error(`Id tag for prefix ${prefix} not found.`)\n return Buffer.from([...toBytes(idTag), ...decode(hashId, prefix)])\n}\n\n/**\n * Utility function to read and _id type\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {Buffer} buf Data\n * @return {String} Encoided hash string with prefix\n */\nexport function readId (buf) {\n const tag = buf.readUIntBE(0, 1)\n const prefix = ID_TAG_PREFIX[tag]\n if (!prefix) throw new Error(`Prefix for id-tag ${tag} not found.`)\n return encode(buf.slice(1, buf.length), prefix)\n}\n\n/**\n * Utility function to convert int to bytes\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {Number|String|BigNumber} val Value\n * @return {Buffer} Buffer Buffer from number(BigEndian)\n */\nexport function writeInt (val) {\n return toBytes(val, true)\n}\n\n/**\n * Utility function to convert bytes to int\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {Buffer} buf Value\n * @return {String} Buffer Buffer from number(BigEndian)\n */\nexport function readInt (buf = Buffer.from([])) {\n return BigNumber(buf.toString('hex'), 16).toString(10)\n}\n\n/**\n * Helper function to build pointers for name update TX\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {Array} pointers - Array of pointers\n * ([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])\n * @return {Array} Serialized pointers array\n */\nexport function buildPointers (pointers) {\n return pointers.map(\n p => [\n toBytes(p.key),\n writeId(p.id)\n ]\n )\n}\n\n/**\n * Helper function to read pointers from name update TX\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {Array} pointers - Array of pointers\n * ([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])\n * @return {Array} Deserialize pointer array\n */\nexport function readPointers (pointers) {\n return pointers.map(\n ([key, id]) => Object.assign({\n key: key.toString(),\n id: readId(id)\n })\n )\n}\n\n/**\n * Ensure that name is valid\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {string} name\n * @return void\n * @throws Error\n */\nexport function ensureNameValid (name) {\n if (!name || typeof name !== 'string') throw new Error('Name must be a string')\n if (!name.endsWith('.chain')) throw new Error(`Name should end with .chain: ${name}`)\n}\n\n/**\n * Is name valid\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {string} name\n * @return Boolean\n */\nexport function isNameValid (name) {\n try {\n ensureNameValid(name)\n return true\n } catch (error) {\n return false\n }\n}\n\n/**\n * @param identifier - account/oracle/contract address, or channel\n * @returns {String} default AENS pointer key\n * @throws exception when default key not defined\n */\nexport function getDefaultPointerKey (identifier) {\n decode(identifier)\n const prefix = identifier.substr(0, 2)\n return POINTER_KEY_BY_PREFIX[prefix] ||\n (() => { throw new Error(`Default AENS pointer key is not defined for ${prefix} prefix`) })()\n}\n\n/**\n * Get the minimum name fee for a domain\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {String} domain the domain name to get the fee for\n * @return {String} the minimum fee for the domain auction\n */\nexport function getMinimumNameFee (domain) {\n const nameLength = domain.replace('.chain', '').length\n return NAME_BID_RANGES[nameLength >= NAME_MAX_LENGTH_FEE ? NAME_MAX_LENGTH_FEE : nameLength]\n}\n\n/**\n * Compute bid fee for AENS auction\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {String} domain the domain name to get the fee for\n * @param {Number|String} startFee Auction start fee\n * @param {Number} [increment=0.5] Bid multiplier(In percentage, must be between 0 and 1)\n * @return {String} Bid fee\n */\nexport function computeBidFee (domain, startFee = NAME_FEE, increment = NAME_FEE_BID_INCREMENT) {\n if (!(Number(increment) === increment && increment % 1 !== 0)) throw new Error(`Increment must be float. Current increment ${increment}`)\n if (increment < NAME_FEE_BID_INCREMENT) throw new Error(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`)\n return ceil(\n BigNumber(BigNumber(startFee).eq(NAME_FEE) ? getMinimumNameFee(domain) : startFee)\n .times(BigNumber(NAME_FEE_BID_INCREMENT).plus(1))\n )\n}\n\n/**\n * Compute auction end height\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {String} domain the domain name to get the fee for\n * @param {Number|String} claimHeight Auction starting height\n * @return {String} Auction end height\n */\nexport function computeAuctionEndBlock (domain, claimHeight) {\n return R.cond([\n [R.lt(5), R.always(NAME_BID_TIMEOUTS[4].plus(claimHeight))],\n [R.lt(9), R.always(NAME_BID_TIMEOUTS[8].plus(claimHeight))],\n [R.lte(NAME_BID_MAX_LENGTH), R.always(NAME_BID_TIMEOUTS[12].plus(claimHeight))],\n [R.T, R.always(BigNumber(claimHeight))]\n ])(domain.replace('.chain', '').length).toString(10)\n}\n\n/**\n * Is name accept going to auction\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers\n * @param {String} name Transaction abiVersion\n * @return {Boolean}\n */\nexport function isAuctionName (name) {\n return name.replace('.chain', '').length < 13\n}\n"],"file":"helpers.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tx/builder/index.js"],"names":["BigNumber","decode","rlpDecode","encode","rlpEncode","AE_AMOUNT_FORMATS","formatAmount","hash","DEFAULT_FEE","FIELD_TYPES","OBJECT_ID_TX_TYPE","PREFIX_ID_TAG","TX_DESERIALIZATION_SCHEMA","TX_FEE_BASE_GAS","TX_FEE_OTHER_GAS","TX_SERIALIZATION_SCHEMA","TX_TYPE","VALIDATION_MESSAGE","VSN","readInt","readId","readPointers","writeId","writeInt","buildPointers","toBytes","MPTree","ORACLE_TTL_TYPES","delta","block","deserializeField","value","type","prefix","ctVersion","vm","abi","vmVersion","Buffer","from","abiVersion","amount","int","id","ids","map","bool","binary","stateTree","string","toString","payload","pointers","rlpBinary","unpackTx","rlpBinaries","v","rawBinary","hex","offChainUpdates","callStack","mptrees","t","callReturnType","sophiaCodeTypeInfo","reduce","acc","funHash","fnName","argType","outType","serializeField","signatures","split","rlpEncoded","serialize","validateField","key","assert","valid","params","undefined","isMinusValue","isNaN","isBigNumber","lt","gte","prefixes","Array","isArray","p","find","Object","prototype","hasOwnProperty","call","e","transformParams","schema","denomination","filter","_","schemaKeys","k","entries","includes","getOracleRelativeTtl","txType","ttlKey","oracleRegister","oracleExtend","oracleQuery","oracleResponse","calculateMinFee","gas","vsn","multiplier","times","actualFee","buildFee","fee","expected","eq","txWithOutFee","buildTx","txSize","length","plus","relativeTtl","innerTxSize","gaMeta","payingFor","tx","encodedTx","calculateFee","showWarning","console","warn","validateParams","excludeKeys","assign","buildRawTx","AETTOS","filteredSchema","keys","Error","JSON","stringify","fieldType","unpackRawTx","index","getSchema","objId","isDeserialize","firstKey","tag","txObject","fromRlpBinary","buildTxHash","rawTx","data","startsWith"],"mappings":"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","sourcesContent":["import BigNumber from 'bignumber.js'\nimport { decode as rlpDecode, encode as rlpEncode } from 'rlp'\nimport { AE_AMOUNT_FORMATS, formatAmount } from '../../utils/amount-formatter'\nimport { hash } from '../../utils/crypto'\n\nimport {\n DEFAULT_FEE,\n FIELD_TYPES,\n OBJECT_ID_TX_TYPE,\n PREFIX_ID_TAG,\n TX_DESERIALIZATION_SCHEMA,\n TX_FEE_BASE_GAS,\n TX_FEE_OTHER_GAS,\n TX_SERIALIZATION_SCHEMA,\n TX_TYPE,\n VALIDATION_MESSAGE,\n VSN\n} from './schema'\nimport {\n readInt,\n readId,\n readPointers,\n writeId,\n writeInt,\n buildPointers,\n encode,\n decode\n} from './helpers'\nimport { toBytes } from '../../utils/bytes'\nimport MPTree from '../../utils/mptree'\n\n/**\n * JavaScript-based Transaction builder\n * @module @aeternity/aepp-sdk/es/tx/builder\n * @export TxBuilder\n * @example import { TxBuilder } from '@aeternity/aepp-sdk'\n */\n\nconst ORACLE_TTL_TYPES = {\n delta: 'delta',\n block: 'block'\n}\n\n// SERIALIZE AND DESERIALIZE PART\nfunction deserializeField (value, type, prefix) {\n if (!value) return ''\n switch (type) {\n case FIELD_TYPES.ctVersion: {\n const [vm, , abi] = value\n return { vmVersion: readInt(Buffer.from([vm])), abiVersion: readInt(Buffer.from([abi])) }\n }\n case FIELD_TYPES.amount:\n return readInt(value)\n case FIELD_TYPES.int:\n return readInt(value)\n case FIELD_TYPES.id:\n return readId(value)\n case FIELD_TYPES.ids:\n return value.map(readId)\n case FIELD_TYPES.bool:\n return value[0] === 1\n case FIELD_TYPES.binary:\n return encode(value, prefix)\n case FIELD_TYPES.stateTree:\n return encode(value, 'ss')\n case FIELD_TYPES.string:\n return value.toString()\n case FIELD_TYPES.payload:\n return encode(value, 'ba')\n case FIELD_TYPES.pointers:\n return readPointers(value)\n case FIELD_TYPES.rlpBinary:\n return unpackTx(value, true)\n case FIELD_TYPES.rlpBinaries:\n return value.map(v => unpackTx(v, true))\n case FIELD_TYPES.rawBinary:\n return value\n case FIELD_TYPES.hex:\n return value.toString('hex')\n case FIELD_TYPES.offChainUpdates:\n return value.map(v => unpackTx(v, true))\n case FIELD_TYPES.callStack:\n // TODO: fix this\n return [readInt(value)]\n case FIELD_TYPES.mptrees:\n return value.map(t => new MPTree(t))\n case FIELD_TYPES.callReturnType:\n switch (readInt(value)) {\n case '0': return 'ok'\n case '1': return 'error'\n case '2': return 'revert'\n default: return value\n }\n case FIELD_TYPES.sophiaCodeTypeInfo:\n return value\n .reduce(\n (acc, [funHash, fnName, argType, outType]) =>\n ({ ...acc, [fnName.toString()]: { funHash, argType, outType } }),\n {}\n )\n default:\n return value\n }\n}\n\nfunction serializeField (value, type, prefix) {\n switch (type) {\n case FIELD_TYPES.amount:\n case FIELD_TYPES.int:\n return writeInt(value)\n case FIELD_TYPES.id:\n return writeId(value)\n case FIELD_TYPES.ids:\n return value.map(writeId)\n case FIELD_TYPES.bool:\n return Buffer.from([value ? 1 : 0])\n case FIELD_TYPES.binary:\n return decode(value, prefix)\n case FIELD_TYPES.stateTree:\n return decode(value, 'ss')\n case FIELD_TYPES.hex:\n return Buffer.from(value, 'hex')\n case FIELD_TYPES.signatures:\n return value.map(Buffer.from)\n case FIELD_TYPES.payload:\n return typeof value === 'string' && value.split('_')[0] === 'ba'\n ? decode(value, 'ba')\n : toBytes(value)\n case FIELD_TYPES.string:\n return toBytes(value)\n case FIELD_TYPES.pointers:\n return buildPointers(value)\n case FIELD_TYPES.rlpBinary:\n return value.rlpEncoded ?? value\n case FIELD_TYPES.mptrees:\n return value.map(t => t.serialize())\n case FIELD_TYPES.ctVersion:\n return Buffer.from([...toBytes(value.vmVersion), 0, ...toBytes(value.abiVersion)])\n case FIELD_TYPES.callReturnType:\n switch (value) {\n case 'ok': return writeInt(0)\n case 'error': return writeInt(1)\n case 'revert': return writeInt(2)\n default: return value\n }\n default:\n return value\n }\n}\n\nfunction validateField (value, key, type, prefix) {\n const assert = (valid, params) => valid ? {} : { [key]: VALIDATION_MESSAGE[type](params) }\n // All fields are required\n if (value === undefined || value === null) return { [key]: 'Field is required' }\n\n // Validate type of value\n switch (type) {\n case FIELD_TYPES.amount:\n case FIELD_TYPES.int: {\n const isMinusValue = (!isNaN(value) || BigNumber.isBigNumber(value)) && BigNumber(value).lt(0)\n return assert(\n (!isNaN(value) || BigNumber.isBigNumber(value)) && BigNumber(value).gte(0),\n { value, isMinusValue }\n )\n }\n case FIELD_TYPES.id: {\n const prefixes = Array.isArray(prefix) ? prefix : [prefix]\n const p = prefixes.find(p => p === value.split('_')[0])\n return assert(p && PREFIX_ID_TAG[value.split('_')[0]], { value, prefix })\n }\n case FIELD_TYPES.binary:\n return assert(value.split('_')[0] === prefix, { prefix, value })\n case FIELD_TYPES.string:\n return assert(true)\n case FIELD_TYPES.ctVersion:\n return assert(typeof value === 'object' && Object.prototype.hasOwnProperty.call(value, 'abiVersion') && Object.prototype.hasOwnProperty.call(value, 'vmVersion'))\n case FIELD_TYPES.pointers:\n return assert(Array.isArray(value) && !value.find(e => e !== Object(e)), { value })\n default:\n return {}\n }\n}\n\nfunction transformParams (params, schema, { denomination } = {}) {\n params = schema\n .filter(([_, t]) => t === FIELD_TYPES.amount)\n .reduce(\n (acc, [key]) => ({ ...params, [key]: formatAmount(params[key], { denomination }) }),\n params\n )\n const schemaKeys = schema.map(([k]) => k)\n return Object\n .entries(params)\n .reduce(\n (acc, [key, value]) => {\n if (schemaKeys.includes(key)) acc[key] = value\n if (['oracleTtl', 'queryTtl', 'responseTtl'].includes(key)) {\n acc[`${key}Type`] = value.type === ORACLE_TTL_TYPES.delta ? 0 : 1\n acc[`${key}Value`] = value.value\n }\n return acc\n },\n {}\n )\n}\n\n// INTERFACE\n\nfunction getOracleRelativeTtl (params, txType) {\n const ttlKey = {\n [TX_TYPE.oracleRegister]: 'oracleTtl',\n [TX_TYPE.oracleExtend]: 'oracleTtl',\n [TX_TYPE.oracleQuery]: 'queryTtl',\n [TX_TYPE.oracleResponse]: 'responseTtl'\n }[txType]\n\n if (params[ttlKey] || params[`${ttlKey}Value`]) {\n return params[`${ttlKey}Value`] || params[ttlKey].value\n }\n return 1\n}\n\n/**\n * Calculate min fee\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/index\n * @rtype (txType, { gas = 0, params }) => String\n * @param {String} txType - Transaction type\n * @param {Options} options - Options object\n * @param {String|Number} options.gas - Gas amount\n * @param {Object} options.params - Tx params\n * @return {String|Number}\n * @example calculateMinFee('spendTx', { gas, params })\n */\nexport function calculateMinFee (txType, { gas = 0, params, vsn }) {\n const multiplier = BigNumber(1e9) // 10^9 GAS_PRICE\n if (!params) return BigNumber(DEFAULT_FEE).times(multiplier).toString(10)\n\n let actualFee = buildFee(txType, { params: { ...params, fee: 0 }, multiplier, gas, vsn })\n let expected = BigNumber(0)\n\n while (!actualFee.eq(expected)) {\n actualFee = buildFee(txType, { params: { ...params, fee: actualFee }, multiplier, gas, vsn })\n expected = actualFee\n }\n return expected.toString(10)\n}\n\n/**\n * Calculate fee based on tx type and params\n * @param txType\n * @param params\n * @param gas\n * @param multiplier\n * @param vsn\n * @return {BigNumber}\n */\nfunction buildFee (txType, { params, gas = 0, multiplier, vsn }) {\n const { rlpEncoded: txWithOutFee } = buildTx({ ...params }, txType, { vsn })\n const txSize = txWithOutFee.length\n return TX_FEE_BASE_GAS(txType)\n .plus(TX_FEE_OTHER_GAS(txType, txSize, {\n relativeTtl: getOracleRelativeTtl(params, txType),\n innerTxSize: [TX_TYPE.gaMeta, TX_TYPE.payingFor].includes(txType)\n ? params.tx.tx.encodedTx.rlpEncoded.length\n : 0\n }))\n .times(multiplier)\n}\n\n/**\n * Calculate fee\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder\n * @rtype (fee, txType, gas = 0) => String\n * @param {String|Number} fee - fee\n * @param {String} txType - Transaction type\n * @param {Options} options - Options object\n * @param {String|Number} options.gas - Gas amount\n * @param {Object} options.params - Tx params\n * @return {String|Number}\n * @example calculateFee(null, 'spendTx', { gas, params })\n */\nexport function calculateFee (fee = 0, txType, { gas = 0, params, showWarning = true, vsn } = {}) {\n if (!params && showWarning) console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${DEFAULT_FEE})`)\n\n return fee || calculateMinFee(txType, { params, gas, vsn })\n}\n\n/**\n * Validate transaction params\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder\n * @param {Object} params Object with tx params\n * @param {Array} schema Transaction schema\n * @param {Array} excludeKeys Array of keys to exclude for validation\n * @return {Object} Object with validation errors\n */\nexport function validateParams (params, schema, { excludeKeys = [] }) {\n return schema\n .filter(([key]) => !excludeKeys.includes(key) && key !== 'payload')\n .reduce(\n (acc, [key, type, prefix]) => Object.assign(\n acc, validateField(params[key], key, type, prefix)\n ),\n {}\n )\n}\n\n/**\n * Build binary transaction\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder\n * @param {Object} params Object with tx params\n * @param {Array} schema Transaction schema\n * @param {Object} [options={}] options\n * @param {String[]} [options.excludeKeys=[]] Array of keys to exclude for validation and build\n * @param {String} [options.denomination='aettos'] Denomination of amounts\n * @throws {Error} Validation error\n * @return {Array} Array with binary fields of transaction\n */\nexport function buildRawTx (\n params,\n schema,\n { excludeKeys = [], denomination = AE_AMOUNT_FORMATS.AETTOS } = {}\n) {\n const filteredSchema = schema.filter(([key]) => !excludeKeys.includes(key))\n\n // Transform `amount` type fields to `aettos`\n params = transformParams(params, filteredSchema, { denomination })\n // Validation\n const valid = validateParams(params, schema, { excludeKeys })\n if (Object.keys(valid).length) {\n throw new Error('Transaction build error. ' + JSON.stringify(valid))\n }\n\n return filteredSchema\n .map(([key, fieldType, prefix]) => serializeField(params[key], fieldType, prefix))\n}\n\n/**\n * Unpack binary transaction\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder\n * @param {Array} binary Array with binary transaction field's\n * @param {Array} schema Transaction schema\n * @return {Object} Object with transaction field's\n */\nexport function unpackRawTx (binary, schema) {\n return schema\n .reduce(\n (\n acc,\n [key, fieldType, prefix],\n index\n ) => Object.assign(acc, { [key]: deserializeField(binary[index], fieldType, prefix) }),\n {}\n )\n}\n\n/**\n * Get transaction serialization/deserialization schema\n * @alias module:@aeternity/aepp-sdk/es/tx/builder\n * @param {{ vsn: String, objId: Number, type: String }}\n * @throws {Error} Schema not found error\n * @return {Object} Schema\n */\nconst getSchema = ({ vsn, objId, type }) => {\n const isDeserialize = !!objId\n const firstKey = isDeserialize ? objId : type\n const schema = isDeserialize ? TX_DESERIALIZATION_SCHEMA : TX_SERIALIZATION_SCHEMA\n\n if (!schema[firstKey]) {\n throw new Error(`Transaction ${isDeserialize ? 'deserialization' : 'serialization'} not implemented for ${isDeserialize ? 'tag ' + objId : type}`)\n }\n if (!schema[firstKey][vsn]) {\n throw new Error(`Transaction ${isDeserialize ? 'deserialization' : 'serialization'} not implemented for ${isDeserialize ? 'tag ' + objId : type} version ${vsn}`)\n }\n return schema[firstKey][vsn]\n}\n\n/**\n * Build transaction hash\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder\n * @param {Object} params Object with tx params\n * @param {String} type Transaction type\n * @param {Object} [options={}] options\n * @param {String[]} [options.excludeKeys] Array of keys to exclude for validation and build\n * @param {String} [options.prefix] Prefix of transaction\n * @throws {Error} Validation error\n * @returns {Object} object\n * @returns {String} object.tx Base64Check transaction hash with 'tx_' prefix\n * @returns {Buffer} object.rlpEncoded rlp encoded transaction\n * @returns {Array<Buffer>} object.binary binary transaction\n */\nexport function buildTx (\n params,\n type,\n { excludeKeys = [], prefix = 'tx', vsn = VSN, denomination = AE_AMOUNT_FORMATS.AETTOS } = {}\n) {\n const [schema, tag] = getSchema({ type, vsn })\n const binary = buildRawTx(\n { ...params, VSN: vsn, tag },\n schema,\n { excludeKeys, denomination: params.denomination || denomination }\n ).filter(e => e !== undefined)\n\n const rlpEncoded = rlpEncode(binary)\n const tx = encode(rlpEncoded, prefix)\n\n return { tx, rlpEncoded, binary, txObject: unpackRawTx(binary, schema) }\n}\n\n/**\n * Unpack transaction hash\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder\n * @param {String|Buffer} encodedTx String or RLP encoded transaction array\n * (if fromRlpBinary flag is true)\n * @param {Boolean} fromRlpBinary Unpack from RLP encoded transaction (default: false)\n * @param {String} prefix - Prefix of data\n * @returns {Object} object\n * @returns {Object} object.tx Object with transaction param's\n * @returns {Buffer} object.rlpEncoded rlp encoded transaction\n * @returns {Array<Buffer>} object.binary binary transaction\n */\nexport function unpackTx (encodedTx, fromRlpBinary = false, prefix = 'tx') {\n const rlpEncoded = fromRlpBinary ? encodedTx : decode(encodedTx, prefix)\n const binary = rlpDecode(rlpEncoded)\n\n const objId = readInt(binary[0])\n const vsn = readInt(binary[1])\n const [schema] = getSchema({ objId, vsn })\n\n return { txType: OBJECT_ID_TX_TYPE[objId], tx: unpackRawTx(binary, schema), rlpEncoded, binary }\n}\n\n/**\n * Build a transaction hash\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/builder\n * @param {String | Buffer} rawTx base64 or rlp encoded transaction\n * @return {String} Transaction hash\n */\nexport function buildTxHash (rawTx) {\n const data = typeof rawTx === 'string' && rawTx.startsWith('tx_') ? decode(rawTx, 'tx') : rawTx\n return encode(hash(data), 'th')\n}\n\nexport default {\n calculateMinFee,\n calculateFee,\n unpackTx,\n unpackRawTx,\n buildTx,\n buildRawTx,\n validateParams,\n buildTxHash\n}\n"],"file":"index.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tx/builder/schema.js"],"names":["BigNumber","VSN","VSN_2","TX_TTL","QUERY_FEE","ORACLE_TTL","type","value","QUERY_TTL","RESPONSE_TTL","DEPOSIT","AMOUNT","GAS","MIN_GAS_PRICE","MAX_AUTH_FUN_GAS","DRY_RUN_ACCOUNT","pub","amount","NAME_TTL","NAME_MAX_TTL","NAME_MAX_CLIENT_TTL","CLIENT_TTL","NAME_FEE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_MAX_LENGTH","POINTER_KEY_BY_PREFIX","ak","ok","ct","ch","NAME_BID_RANGES","times","NAME_BID_TIMEOUTS","ID_TAG_ACCOUNT","ID_TAG_NAME","ID_TAG_COMMITMENT","ID_TAG_ORACLE","ID_TAG_CONTRACT","ID_TAG_CHANNEL","OBJECT_TAG_ACCOUNT","OBJECT_TAG_SIGNED_TRANSACTION","OBJECT_TAG_SPEND_TRANSACTION","OBJECT_TAG_ORACLE_REGISTER_TRANSACTION","OBJECT_TAG_ORACLE_QUERY_TRANSACTION","OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION","OBJECT_TAG_ORACLE_EXTEND_TRANSACTION","OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION","OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION","OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION","OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION","OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION","OBJECT_TAG_CONTRACT","OBJECT_TAG_CONTRACT_CALL","OBJECT_TAG_CONTRACT_CREATE_TRANSACTION","OBJECT_TAG_CONTRACT_CALL_TRANSACTION","OBJECT_TAG_CHANNEL_CREATE_TX","OBJECT_TAG_CHANNEL_DEPOSIT_TX","OBJECT_TAG_CHANNEL_WITHRAW_TX","OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX","OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX","OBJECT_TAG_CHANNEL_SLASH_TX","OBJECT_TAG_CHANNEL_SETTLE_TX","OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_TX","OBJECT_TAG_CHANNEL","OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX","OBJECT_TAG_CHANNEL_RECONNECT_TX","OBJECT_TAG_PROOF_OF_INCLUSION","OBJECT_TAG_STATE_TREES","OBJECT_TAG_MERKLE_PATRICIA_TREE","OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE","OBJECT_TAG_CONTRACTS_TREE","OBJECT_TAG_CONTRACT_CALLS_TREE","OBJECT_TAG_CHANNELS_TREE","OBJECT_TAG_NAMESERVICE_TREE","OBJECT_TAG_ORACLES_TREE","OBJECT_TAG_ACCOUNTS_TREE","OBJECT_TAG_GA_ATTACH","OBJECT_TAG_GA_META","OBJECT_TAG_PAYING_FOR","OBJECT_TAG_SOPHIA_BYTE_CODE","TX_FIELD","name","prefix","TX_SCHEMA_FIELD","schema","objectId","revertObject","obj","Object","entries","reduce","acc","key","v","TX_TYPE","account","signed","spend","nameClaim","namePreClaim","nameUpdate","nameRevoke","nameTransfer","contract","contractCreate","contractCall","contractCallResult","oracleRegister","oracleExtend","oracleQuery","oracleResponse","channelCreate","channelCloseMutual","channelCloseSolo","channelSlash","channelDeposit","channelWithdraw","channelSettle","channelOffChain","channelForceProgress","channel","channelSnapshotSolo","channelOffChainUpdateTransfer","channelOffChainUpdateDeposit","channelOffChainUpdateWithdrawal","channelOffChainCreateContract","channelOffChainCallContract","channelReconnect","proofOfInclusion","stateTrees","merklePatriciaTree","merklePatriciaTreeValue","contractsTree","contractCallsTree","channelsTree","nameserviceTree","oraclesTree","accountsTree","gaAttach","gaMeta","payingFor","sophiaByteCode","VM_VERSIONS","NO_VM","SOPHIA","SOPHIA_IMPROVEMENTS_MINERVA","SOPHIA_IMPROVEMENTS_FORTUNA","FATE","SOPHIA_IMPROVEMENTS_LIMA","FATE_2","ABI_VERSIONS","NO_ABI","PROTOCOL_VERSIONS","IRIS","PROTOCOL_VM_ABI","vmVersion","abiVersion","OBJECT_ID_TX_TYPE","FIELD_TYPES","int","id","ids","string","binary","rlpBinary","rlpBinaries","rawBinary","bool","hex","signatures","pointers","offChainUpdates","callStack","mptrees","callReturnType","ctVersion","sophiaCodeTypeInfo","payload","any","stateTree","BASE_GAS","GAS_PER_BYTE","DEFAULT_FEE","KEY_BLOCK_INTERVAL","TX_FEE_BASE_GAS","txType","factor","TX_FEE_OTHER_GAS","txSize","relativeTtl","innerTxSize","plus","Math","ceil","floor","minus","ID_TAG","commitment","oracle","PREFIX_ID_TAG","nm","cm","ID_TAG_PREFIX","VALIDATION_ERROR","msg","VALIDATION_MESSAGE","isMinusValue","BASE_TX","CONTRACT_BYTE_CODE_LIMA","ACCOUNT_TX_2","SPEND_TX","SIGNED_TX","NAME_PRE_CLAIM_TX","NAME_CLAIM_TX_2","NAME_UPDATE_TX","NAME_TRANSFER_TX","NAME_REVOKE_TX","CONTRACT_TX","GA_ATTACH_TX","GA_META_TX_2","PAYING_FOR_TX","CONTRACT_CREATE_TX","CONTRACT_CALL_TX","CONTRACT_CALL_RESULT_TX","ORACLE_REGISTER_TX","ORACLE_EXTEND_TX","ORACLE_QUERY_TX","ORACLE_RESPOND_TX","CHANNEL_CREATE_TX_2","CHANNEL_DEPOSIT_TX","CHANNEL_WITHDRAW_TX","CHANNEL_CLOSE_MUTUAL_TX","CHANNEL_CLOSE_SOLO_TX","CHANNEL_SLASH_TX","CHANNEL_SETTLE_TX","CHANNEL_FORCE_PROGRESS_TX","CHANNEL_OFFCHAIN_TX_2","CHANNEL_TX_3","CHANNEL_SNAPSHOT_SOLO_TX","CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX","CHANNEL_OFFCHAIN_CALL_CONTRACT_TX","CHANNEL_RECONNECT_TX","CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX","CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX","CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX","PROOF_OF_INCLUSION_TX","STATE_TREES_TX","MERKLE_PATRICIA_TREE_TX","MERKLE_PATRICIA_TREE_VALUE_TX","CONTRACTS_TREE_TX","CONTRACT_CALLS_TREE_TX","CHANNELS_TREE_TX","NAMESERVICE_TREE_TX","ORACLES_TREE_TX","ACCOUNTS_TREE_TX","TX_SERIALIZATION_SCHEMA","TX_DESERIALIZATION_SCHEMA"],"mappings":"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","sourcesContent":["/**\n * Transaction Schema for TxBuilder\n * @module @aeternity/aepp-sdk/es/tx/builder/schema\n * @export TxSchema\n * @example import { SCHEMA } from '@aeternity/aepp-sdk'\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport BigNumber from 'bignumber.js'\n\nexport const VSN = 1\nexport const VSN_2 = 2\n\n// # TRANSACTION DEFAULT TTL\nexport const TX_TTL = 0\n// # ORACLE\nexport const QUERY_FEE = 30000\nexport const ORACLE_TTL = { type: 'delta', value: 500 }\nexport const QUERY_TTL = { type: 'delta', value: 10 }\nexport const RESPONSE_TTL = { type: 'delta', value: 10 }\n// # CONTRACT\nexport const DEPOSIT = 0\nexport const AMOUNT = 0\nexport const GAS = 25000\nexport const MIN_GAS_PRICE = 1e9\nexport const MAX_AUTH_FUN_GAS = 50000\nexport const DRY_RUN_ACCOUNT = { pub: 'ak_11111111111111111111111111111111273Yts', amount: '100000000000000000000000000000000000' }\n// # AENS\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 NAME_FEE = 0\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\nexport const NAME_BID_MAX_LENGTH = 12 // # this is the max length for a domain to be part of a bid\nexport const POINTER_KEY_BY_PREFIX = {\n ak: 'account_pubkey',\n ok: 'oracle_pubkey',\n ct: 'contract_pubkey',\n ch: 'channel'\n}\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 = {\n 31: BigNumber(3).times(NAME_FEE_MULTIPLIER),\n 30: BigNumber(5).times(NAME_FEE_MULTIPLIER),\n 29: BigNumber(8).times(NAME_FEE_MULTIPLIER),\n 28: BigNumber(13).times(NAME_FEE_MULTIPLIER),\n 27: BigNumber(21).times(NAME_FEE_MULTIPLIER),\n 26: BigNumber(34).times(NAME_FEE_MULTIPLIER),\n 25: BigNumber(55).times(NAME_FEE_MULTIPLIER),\n 24: BigNumber(89).times(NAME_FEE_MULTIPLIER),\n 23: BigNumber(144).times(NAME_FEE_MULTIPLIER),\n 22: BigNumber(233).times(NAME_FEE_MULTIPLIER),\n 21: BigNumber(377).times(NAME_FEE_MULTIPLIER),\n 20: BigNumber(610).times(NAME_FEE_MULTIPLIER),\n 19: BigNumber(987).times(NAME_FEE_MULTIPLIER),\n 18: BigNumber(1597).times(NAME_FEE_MULTIPLIER),\n 17: BigNumber(2584).times(NAME_FEE_MULTIPLIER),\n 16: BigNumber(4181).times(NAME_FEE_MULTIPLIER),\n 15: BigNumber(6765).times(NAME_FEE_MULTIPLIER),\n 14: BigNumber(10946).times(NAME_FEE_MULTIPLIER),\n 13: BigNumber(17711).times(NAME_FEE_MULTIPLIER),\n 12: BigNumber(28657).times(NAME_FEE_MULTIPLIER),\n 11: BigNumber(46368).times(NAME_FEE_MULTIPLIER),\n 10: BigNumber(75025).times(NAME_FEE_MULTIPLIER),\n 9: BigNumber(121393).times(NAME_FEE_MULTIPLIER),\n 8: BigNumber(196418).times(NAME_FEE_MULTIPLIER),\n 7: BigNumber(317811).times(NAME_FEE_MULTIPLIER),\n 6: BigNumber(514229).times(NAME_FEE_MULTIPLIER),\n 5: BigNumber(832040).times(NAME_FEE_MULTIPLIER),\n 4: BigNumber(1346269).times(NAME_FEE_MULTIPLIER),\n 3: BigNumber(2178309).times(NAME_FEE_MULTIPLIER),\n 2: BigNumber(3524578).times(NAME_FEE_MULTIPLIER),\n 1: BigNumber(5702887).times(NAME_FEE_MULTIPLIER)\n}\n\n// # ref: https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273\n// # name bid timeouts\nexport const NAME_BID_TIMEOUTS = {\n 13: BigNumber(0),\n 12: BigNumber(NAME_BID_TIMEOUT_BLOCKS), // # 480 blocks\n 8: BigNumber(31).times(NAME_BID_TIMEOUT_BLOCKS), // # 14880 blocks\n 4: BigNumber(62).times(NAME_BID_TIMEOUT_BLOCKS) // # 29760 blocks\n}\n\n// # Tag constant for ids (type uint8)\n// # see https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type\n// # <<Tag:1/unsigned-integer-unit:8, Hash:32/binary-unit:8>>\nconst ID_TAG_ACCOUNT = 1\nconst ID_TAG_NAME = 2\nconst ID_TAG_COMMITMENT = 3\nconst ID_TAG_ORACLE = 4\nconst ID_TAG_CONTRACT = 5\nconst ID_TAG_CHANNEL = 6\n\n// # OBJECT tags\n// # see https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\nconst OBJECT_TAG_ACCOUNT = 10\nexport const OBJECT_TAG_SIGNED_TRANSACTION = 11\nconst OBJECT_TAG_SPEND_TRANSACTION = 12\nconst OBJECT_TAG_ORACLE_REGISTER_TRANSACTION = 22\nconst OBJECT_TAG_ORACLE_QUERY_TRANSACTION = 23\nconst OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION = 24\nconst OBJECT_TAG_ORACLE_EXTEND_TRANSACTION = 25\nconst OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION = 32\nconst OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION = 33\nconst OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION = 34\nconst OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION = 35\nconst OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION = 36\nconst OBJECT_TAG_CONTRACT = 40\nconst OBJECT_TAG_CONTRACT_CALL = 41\nconst OBJECT_TAG_CONTRACT_CREATE_TRANSACTION = 42\nconst OBJECT_TAG_CONTRACT_CALL_TRANSACTION = 43\nconst OBJECT_TAG_CHANNEL_CREATE_TX = 50\nconst OBJECT_TAG_CHANNEL_DEPOSIT_TX = 51\nconst OBJECT_TAG_CHANNEL_WITHRAW_TX = 52\nconst OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX = 53\nconst OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX = 54\nconst OBJECT_TAG_CHANNEL_SLASH_TX = 55\nconst OBJECT_TAG_CHANNEL_SETTLE_TX = 56\nconst OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX = 521\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_TX = 57\nconst OBJECT_TAG_CHANNEL = 58\nconst OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX = 59\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = 570\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = 571\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = 572\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = 573\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = 574\nconst OBJECT_TAG_CHANNEL_RECONNECT_TX = 575\nconst OBJECT_TAG_PROOF_OF_INCLUSION = 60\nconst OBJECT_TAG_STATE_TREES = 62\nconst OBJECT_TAG_MERKLE_PATRICIA_TREE = 63\nconst OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE = 64\nconst OBJECT_TAG_CONTRACTS_TREE = 621\nconst OBJECT_TAG_CONTRACT_CALLS_TREE = 622\nconst OBJECT_TAG_CHANNELS_TREE = 623\nconst OBJECT_TAG_NAMESERVICE_TREE = 624\nconst OBJECT_TAG_ORACLES_TREE = 625\nconst OBJECT_TAG_ACCOUNTS_TREE = 626\nconst OBJECT_TAG_GA_ATTACH = 80\nconst OBJECT_TAG_GA_META = 81\nconst OBJECT_TAG_PAYING_FOR = 82\nconst OBJECT_TAG_SOPHIA_BYTE_CODE = 70\n\nconst TX_FIELD = (name, type, prefix) => [name, type, prefix]\nconst TX_SCHEMA_FIELD = (schema, objectId) => [schema, objectId]\n\nconst revertObject = (obj) => Object.entries(obj)\n .reduce((acc, [key, v]) => (acc[v] = key) && acc, {})\n\n/**\n * @constant\n * @description Object with transaction types\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/schema\n * @property {String} signed\n * @property {String} spend\n * @property {String} nameClaim\n * @property {String} namePreClaim\n * @property {String} nameUpdate\n * @property {String} nameRevoke\n * @property {String} nameTransfer\n * @property {String} contractCreate\n * @property {String} contractCall\n * @property {String} oracleRegister\n * @property {String} oracleExtend\n * @property {String} oracleQuery\n * @property {String} oracleResponse\n */\nexport const TX_TYPE = {\n account: 'account',\n signed: 'signedTx',\n spend: 'spendTx',\n // AENS\n nameClaim: 'nameClaimTx',\n namePreClaim: 'namePreClaimTx',\n nameUpdate: 'nameUpdateTx',\n nameRevoke: 'nameRevokeTx',\n nameTransfer: 'nameTransfer',\n // CONTRACT\n contract: 'contract',\n contractCreate: 'contractCreateTx',\n contractCall: 'contractCallTx',\n contractCallResult: 'contractCallResult',\n // ORACLE\n oracleRegister: 'oracleRegister',\n oracleExtend: 'oracleExtend',\n oracleQuery: 'oracleQuery',\n oracleResponse: 'oracleResponse',\n // STATE CHANNEL\n channelCreate: 'channelCreate',\n channelCloseMutual: 'channelCloseMutual',\n channelCloseSolo: 'channelCloseSolo',\n channelSlash: 'channelSlash',\n channelDeposit: 'channelDeposit',\n channelWithdraw: 'channelWithdraw',\n channelSettle: 'channelSettle',\n channelOffChain: 'channelOffChain',\n channelForceProgress: 'channelForceProgress',\n channel: 'channel',\n channelSnapshotSolo: 'channelSnapshotSolo',\n channelOffChainUpdateTransfer: 'channelOffChainUpdateTransfer',\n channelOffChainUpdateDeposit: 'channelOffChainUpdateDeposit',\n channelOffChainUpdateWithdrawal: 'channelOffChainUpdateWithdrawal',\n channelOffChainCreateContract: 'channelOffChainCreateContract',\n channelOffChainCallContract: 'channelOffChainCallContract',\n channelReconnect: 'channelReconnect',\n proofOfInclusion: 'proofOfInclusion',\n stateTrees: 'stateTrees',\n merklePatriciaTree: 'merklePatriciaTree',\n merklePatriciaTreeValue: 'merklePatriciaTreeValue',\n contractsTree: 'contractsTree',\n contractCallsTree: 'contractCallsTree',\n channelsTree: 'channelsTree',\n nameserviceTree: 'nameserviceTree',\n oraclesTree: 'oraclesTree',\n accountsTree: 'accountsTree',\n // GA ACCOUNTS\n gaAttach: 'gaAttach',\n gaMeta: 'gaMeta',\n payingFor: 'payingFor',\n sophiaByteCode: 'sophiaByteCode'\n}\n\n// # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain\nexport const VM_VERSIONS = {\n NO_VM: 0,\n SOPHIA: 1,\n SOPHIA_IMPROVEMENTS_MINERVA: 3,\n SOPHIA_IMPROVEMENTS_FORTUNA: 4,\n FATE: 5,\n SOPHIA_IMPROVEMENTS_LIMA: 6,\n FATE_2: 7\n}\n// # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain\nexport const ABI_VERSIONS = {\n NO_ABI: 0,\n SOPHIA: 1,\n FATE: 3\n}\n\nexport const PROTOCOL_VERSIONS = {\n IRIS: 5\n}\n\n// First abi/vm by default\nexport const PROTOCOL_VM_ABI = {\n [PROTOCOL_VERSIONS.IRIS]: {\n [TX_TYPE.contractCreate]: {\n vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE]\n },\n // TODO: Ensure that AEVM is still available here\n [TX_TYPE.contractCall]: {\n vmVersion: [\n VM_VERSIONS.FATE_2,\n VM_VERSIONS.FATE,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_LIMA,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_FORTUNA,\n VM_VERSIONS.SOPHIA,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_MINERVA\n ],\n abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]\n },\n [TX_TYPE.oracleRegister]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]\n }\n }\n}\n\nexport const OBJECT_ID_TX_TYPE = {\n [OBJECT_TAG_ACCOUNT]: TX_TYPE.account,\n [OBJECT_TAG_SIGNED_TRANSACTION]: TX_TYPE.signed,\n [OBJECT_TAG_SPEND_TRANSACTION]: TX_TYPE.spend,\n // AENS\n [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: TX_TYPE.nameClaim,\n [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: TX_TYPE.namePreClaim,\n [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: TX_TYPE.nameUpdate,\n [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: TX_TYPE.nameRevoke,\n [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: TX_TYPE.nameTransfer,\n // CONTRACT\n [OBJECT_TAG_CONTRACT]: TX_TYPE.contract,\n [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: TX_TYPE.contractCreate,\n [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: TX_TYPE.contractCall,\n [OBJECT_TAG_CONTRACT_CALL]: TX_TYPE.contractCallResult,\n // ORACLE\n [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: TX_TYPE.oracleRegister,\n [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: TX_TYPE.oracleExtend,\n [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: TX_TYPE.oracleQuery,\n [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: TX_TYPE.oracleResponse,\n // STATE CHANNEL\n [OBJECT_TAG_CHANNEL_CREATE_TX]: TX_TYPE.channelCreate,\n [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: TX_TYPE.channelCloseMutual,\n [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: TX_TYPE.channelCloseSolo,\n [OBJECT_TAG_CHANNEL_SLASH_TX]: TX_TYPE.channelSlash,\n [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: TX_TYPE.channelForceProgress,\n [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: TX_TYPE.channelDeposit,\n [OBJECT_TAG_CHANNEL_WITHRAW_TX]: TX_TYPE.channelWithdraw,\n [OBJECT_TAG_CHANNEL_SETTLE_TX]: TX_TYPE.channelSettle,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: TX_TYPE.channelOffChain,\n [OBJECT_TAG_CHANNEL]: TX_TYPE.channel,\n [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: TX_TYPE.channelSnapshotSolo,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: TX_TYPE.channelOffChainUpdateTransfer,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: TX_TYPE.channelOffChainUpdateDeposit,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: TX_TYPE.channelOffChainUpdateWithdrawal,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: TX_TYPE.channelOffChainCreateContract,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: TX_TYPE.channelOffChainCallContract,\n [OBJECT_TAG_CHANNEL_RECONNECT_TX]: TX_TYPE.channelReconnect,\n [OBJECT_TAG_PROOF_OF_INCLUSION]: TX_TYPE.proofOfInclusion,\n [OBJECT_TAG_STATE_TREES]: TX_TYPE.stateTrees,\n [OBJECT_TAG_MERKLE_PATRICIA_TREE]: TX_TYPE.merklePatriciaTree,\n [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: TX_TYPE.merklePatriciaTreeValue,\n [OBJECT_TAG_CONTRACTS_TREE]: TX_TYPE.contractsTree,\n [OBJECT_TAG_CONTRACT_CALLS_TREE]: TX_TYPE.contractCallsTree,\n [OBJECT_TAG_CHANNELS_TREE]: TX_TYPE.channelsTree,\n [OBJECT_TAG_NAMESERVICE_TREE]: TX_TYPE.nameserviceTree,\n [OBJECT_TAG_ORACLES_TREE]: TX_TYPE.oraclesTree,\n [OBJECT_TAG_ACCOUNTS_TREE]: TX_TYPE.accountsTree,\n // GA Accounts\n [OBJECT_TAG_GA_ATTACH]: TX_TYPE.gaAttach,\n [OBJECT_TAG_GA_META]: TX_TYPE.gaMeta,\n [OBJECT_TAG_PAYING_FOR]: TX_TYPE.payingFor,\n [OBJECT_TAG_SOPHIA_BYTE_CODE]: TX_TYPE.sophiaByteCode\n}\n\nexport const FIELD_TYPES = {\n int: 'int',\n amount: 'amount',\n id: 'id',\n ids: 'ids',\n string: 'string',\n binary: 'binary',\n rlpBinary: 'rlpBinary',\n rlpBinaries: 'rlpBinaries',\n rawBinary: 'rawBinary',\n bool: 'bool',\n hex: 'hex',\n signatures: 'signatures',\n pointers: 'pointers',\n offChainUpdates: 'offChainUpdates',\n callStack: 'callStack',\n proofOfInclusion: 'proofOfInclusion',\n mptrees: 'mptrees',\n callReturnType: 'callReturnType',\n ctVersion: 'ctVersion',\n sophiaCodeTypeInfo: 'sophiaCodeTypeInfo',\n payload: 'payload',\n any: 'any',\n stateTree: 'stateTree'\n}\n\n// FEE CALCULATION\nexport const BASE_GAS = 15000\nexport const GAS_PER_BYTE = 20\nexport const DEFAULT_FEE = 20000\nexport const KEY_BLOCK_INTERVAL = 3\n\n// MAP WITH FEE CALCULATION https://github.com/aeternity/protocol/blob/master/consensus/consensus.md#gas\nexport const TX_FEE_BASE_GAS = (txType) => {\n const factor = ({\n [TX_TYPE.channelForceProgress]: 30,\n [TX_TYPE.channelOffChain]: 0,\n [TX_TYPE.channelOffChainCallContract]: 0,\n [TX_TYPE.channelOffChainCreateContract]: 0,\n [TX_TYPE.channelOffChainUpdateDeposit]: 0,\n [TX_TYPE.channelOffChainUpdateWithdrawal]: 0,\n [TX_TYPE.channelOffChainUpdateTransfer]: 0,\n [TX_TYPE.contractCreate]: 5,\n [TX_TYPE.contractCall]: 12,\n [TX_TYPE.gaAttach]: 5,\n [TX_TYPE.gaMeta]: 5,\n [TX_TYPE.payingFor]: 1 / 5\n })[txType] || 1\n return new BigNumber(factor * BASE_GAS)\n}\n\nexport const TX_FEE_OTHER_GAS = (txType, txSize, { relativeTtl, innerTxSize }) => {\n switch (txType) {\n case TX_TYPE.oracleRegister:\n case TX_TYPE.oracleExtend:\n case TX_TYPE.oracleQuery:\n case TX_TYPE.oracleResponse:\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 TX_TYPE.gaMeta:\n case TX_TYPE.payingFor:\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\nexport const ID_TAG = {\n account: ID_TAG_ACCOUNT,\n name: ID_TAG_NAME,\n commitment: ID_TAG_COMMITMENT,\n oracle: ID_TAG_ORACLE,\n contract: ID_TAG_CONTRACT,\n channel: ID_TAG_CHANNEL\n}\nexport const PREFIX_ID_TAG = {\n ak: ID_TAG.account,\n nm: ID_TAG.name,\n cm: ID_TAG.commitment,\n ok: ID_TAG.oracle,\n ct: ID_TAG.contract,\n ch: ID_TAG.channel\n}\nexport const ID_TAG_PREFIX = revertObject(PREFIX_ID_TAG)\nconst VALIDATION_ERROR = (msg) => msg\n\nexport const VALIDATION_MESSAGE = {\n [FIELD_TYPES.int]: ({ value, isMinusValue }) => isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`),\n [FIELD_TYPES.amount]: ({ value, isMinusValue }) => isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`),\n [FIELD_TYPES.id]: ({ value, prefix }) => VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}' or ID_TAG for prefix not found`),\n [FIELD_TYPES.binary]: ({ prefix, value }) => VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}'`),\n [FIELD_TYPES.string]: ({ value }) => VALIDATION_ERROR('Not a string'),\n [FIELD_TYPES.pointers]: ({ value }) => VALIDATION_ERROR('Value must be of type Array and contains only object\\'s like \\'{key: \"account_pubkey\", id: \"ak_lkamsflkalsdalksdlasdlasdlamd\"}\\''),\n [FIELD_TYPES.ctVersion]: ({ value }) => VALIDATION_ERROR('Value must be an object with \"vmVersion\" and \"abiVersion\" fields')\n}\n\nconst BASE_TX = [\n TX_FIELD('tag', FIELD_TYPES.int),\n TX_FIELD('VSN', FIELD_TYPES.int)\n]\n\nexport const CONTRACT_BYTE_CODE_LIMA = [\n ...BASE_TX,\n TX_FIELD('sourceCodeHash', FIELD_TYPES.rawBinary),\n TX_FIELD('typeInfo', FIELD_TYPES.sophiaCodeTypeInfo),\n TX_FIELD('byteCode', FIELD_TYPES.rawBinary),\n TX_FIELD('compilerVersion', FIELD_TYPES.string),\n TX_FIELD('payable', FIELD_TYPES.bool)\n]\n\nconst ACCOUNT_TX_2 = [\n ...BASE_TX,\n TX_FIELD('flags', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('balance', FIELD_TYPES.int),\n TX_FIELD('gaContract', FIELD_TYPES.id, ['ct', 'nm']),\n TX_FIELD('gaAuthFun', FIELD_TYPES.binary, 'cb')\n]\n\nconst SPEND_TX = [\n ...BASE_TX,\n TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('payload', FIELD_TYPES.payload)\n]\n\nconst SIGNED_TX = [\n ...BASE_TX,\n TX_FIELD('signatures', FIELD_TYPES.signatures),\n TX_FIELD('encodedTx', FIELD_TYPES.rlpBinary)\n]\n\nconst NAME_PRE_CLAIM_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('commitmentId', FIELD_TYPES.id, 'cm'),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_CLAIM_TX_2 = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('name', FIELD_TYPES.binary, 'nm'),\n TX_FIELD('nameSalt', FIELD_TYPES.int),\n TX_FIELD('nameFee', FIELD_TYPES.amount),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_UPDATE_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', FIELD_TYPES.id, 'nm'),\n TX_FIELD('nameTtl', FIELD_TYPES.int),\n TX_FIELD('pointers', FIELD_TYPES.pointers),\n TX_FIELD('clientTtl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_TRANSFER_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', FIELD_TYPES.id, 'nm'),\n TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_REVOKE_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', FIELD_TYPES.id, 'nm'),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('owner', FIELD_TYPES.id, 'ak'),\n TX_FIELD('ctVersion', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('log', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('active', FIELD_TYPES.bool),\n TX_FIELD('referers', FIELD_TYPES.ids, 'ak'),\n TX_FIELD('deposit', FIELD_TYPES.amount)\n]\n\nconst GA_ATTACH_TX = [\n ...BASE_TX,\n TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('authFun', FIELD_TYPES.rawBinary),\n TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst GA_META_TX_2 = [\n ...BASE_TX,\n TX_FIELD('gaId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('authData', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('tx', FIELD_TYPES.rlpBinary)\n]\n\nconst PAYING_FOR_TX = [\n ...BASE_TX,\n TX_FIELD('payerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('tx', FIELD_TYPES.rlpBinary)\n]\n\nconst CONTRACT_CREATE_TX = [\n ...BASE_TX,\n TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('deposit', FIELD_TYPES.amount),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CONTRACT_CALL_TX = [\n ...BASE_TX,\n TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('contractId', FIELD_TYPES.id, ['ct', 'nm']),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CONTRACT_CALL_RESULT_TX = [\n ...BASE_TX,\n TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('callerNonce', FIELD_TYPES.int),\n TX_FIELD('height', FIELD_TYPES.int),\n TX_FIELD('contractId', FIELD_TYPES.id, 'ct'),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('gasUsed', FIELD_TYPES.int),\n TX_FIELD('returnValue', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('returnType', FIELD_TYPES.callReturnType),\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]\n TX_FIELD('log', FIELD_TYPES.rawBinary)\n]\n\nconst ORACLE_REGISTER_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('queryFormat', FIELD_TYPES.string),\n TX_FIELD('responseFormat', FIELD_TYPES.string),\n TX_FIELD('queryFee', FIELD_TYPES.amount),\n TX_FIELD('oracleTtlType', FIELD_TYPES.int),\n TX_FIELD('oracleTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('abiVersion', FIELD_TYPES.int)\n]\n\nconst ORACLE_EXTEND_TX = [\n ...BASE_TX,\n TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('oracleTtlType', FIELD_TYPES.int),\n TX_FIELD('oracleTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst ORACLE_QUERY_TX = [\n ...BASE_TX,\n TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),\n TX_FIELD('query', FIELD_TYPES.string),\n TX_FIELD('queryFee', FIELD_TYPES.amount),\n TX_FIELD('queryTtlType', FIELD_TYPES.int),\n TX_FIELD('queryTtlValue', FIELD_TYPES.int),\n TX_FIELD('responseTtlType', FIELD_TYPES.int),\n TX_FIELD('responseTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\nconst ORACLE_RESPOND_TX = [\n ...BASE_TX,\n TX_FIELD('oracleId', FIELD_TYPES.id, 'ok'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('queryId', FIELD_TYPES.binary, 'oq'),\n TX_FIELD('response', FIELD_TYPES.string),\n TX_FIELD('responseTtlType', FIELD_TYPES.int),\n TX_FIELD('responseTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CREATE_TX_2 = [\n ...BASE_TX,\n TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmount', FIELD_TYPES.int),\n TX_FIELD('responder', FIELD_TYPES.id, 'ak'),\n TX_FIELD('responderAmount', FIELD_TYPES.int),\n TX_FIELD('channelReserve', FIELD_TYPES.int),\n TX_FIELD('lockPeriod', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('initiatorDelegateIds', FIELD_TYPES.string),\n TX_FIELD('responderDelegateIds', FIELD_TYPES.string),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_DEPOSIT_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_WITHDRAW_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('toId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CLOSE_MUTUAL_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),\n TX_FIELD('responderAmountFinal', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CLOSE_SOLO_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_SLASH_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_SETTLE_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),\n TX_FIELD('responderAmountFinal', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_FORCE_PROGRESS_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('update', FIELD_TYPES.binary),\n TX_FIELD('stateHash', FIELD_TYPES.binary),\n TX_FIELD('offChainTrees', FIELD_TYPES.stateTree),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_TX_2 = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st')\n]\n\nconst CHANNEL_TX_3 = [\n ...BASE_TX,\n TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),\n TX_FIELD('responder', FIELD_TYPES.id, 'ak'),\n TX_FIELD('channelAmount', FIELD_TYPES.int),\n TX_FIELD('initiatorAmount', FIELD_TYPES.int),\n TX_FIELD('responderAmount', FIELD_TYPES.int),\n TX_FIELD('channelReserve', FIELD_TYPES.int),\n TX_FIELD('initiatorDelegateIds', FIELD_TYPES.ids),\n TX_FIELD('responderDelegateIds', FIELD_TYPES.ids),\n TX_FIELD('stateHash', FIELD_TYPES.hex),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('soloRound', FIELD_TYPES.int),\n TX_FIELD('lockPeriod', FIELD_TYPES.int),\n TX_FIELD('lockedUntil', FIELD_TYPES.int),\n TX_FIELD('initiatorAuth', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('responderAuth', FIELD_TYPES.binary, 'cb')\n]\n\nconst CHANNEL_SNAPSHOT_SOLO_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('owner', FIELD_TYPES.id, 'ak'),\n TX_FIELD('ctVersion', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('deposit', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('caller', FIELD_TYPES.id, 'ak'),\n TX_FIELD('contract', FIELD_TYPES.id, 'ct'),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('callStack', FIELD_TYPES.callStack),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('gasLimit', FIELD_TYPES.int)\n]\n\nconst CHANNEL_RECONNECT_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('role', FIELD_TYPES.string),\n TX_FIELD('pubkey', FIELD_TYPES.id, 'ak')\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('to', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst PROOF_OF_INCLUSION_TX = [\n ...BASE_TX,\n TX_FIELD('accounts', FIELD_TYPES.mptrees),\n TX_FIELD('calls', FIELD_TYPES.mptrees),\n TX_FIELD('channels', FIELD_TYPES.mptrees),\n TX_FIELD('contracts', FIELD_TYPES.mptrees),\n TX_FIELD('ns', FIELD_TYPES.mptrees),\n TX_FIELD('oracles', FIELD_TYPES.mptrees)\n]\n\nconst STATE_TREES_TX = [\n ...BASE_TX,\n TX_FIELD('contracts', FIELD_TYPES.rlpBinary),\n TX_FIELD('calls', FIELD_TYPES.rlpBinary),\n TX_FIELD('channels', FIELD_TYPES.rlpBinary),\n TX_FIELD('ns', FIELD_TYPES.rlpBinary),\n TX_FIELD('oracles', FIELD_TYPES.rlpBinary),\n TX_FIELD('accounts', FIELD_TYPES.rlpBinary)\n]\n\nconst MERKLE_PATRICIA_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('values', FIELD_TYPES.rlpBinaries)\n]\n\nconst MERKLE_PATRICIA_TREE_VALUE_TX = [\n ...BASE_TX,\n TX_FIELD('key', FIELD_TYPES.hex),\n TX_FIELD('value', FIELD_TYPES.rawBinary)\n]\n\nconst CONTRACTS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('contracts', FIELD_TYPES.rlpBinary)\n]\n\nconst CONTRACT_CALLS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('calls', FIELD_TYPES.rlpBinary)\n]\n\nconst CHANNELS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('channels', FIELD_TYPES.rlpBinary)\n]\n\nconst NAMESERVICE_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('mtree', FIELD_TYPES.rlpBinary)\n]\n\nconst ORACLES_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('otree', FIELD_TYPES.rlpBinary)\n]\n\nconst ACCOUNTS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('accounts', FIELD_TYPES.rlpBinary)\n]\n\nexport const TX_SERIALIZATION_SCHEMA = {\n [TX_TYPE.account]: {\n 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)\n },\n [TX_TYPE.signed]: {\n 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)\n },\n [TX_TYPE.spend]: {\n 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)\n },\n [TX_TYPE.namePreClaim]: {\n 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)\n },\n [TX_TYPE.nameClaim]: {\n 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)\n },\n [TX_TYPE.nameUpdate]: {\n 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)\n },\n [TX_TYPE.nameTransfer]: {\n 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)\n },\n [TX_TYPE.nameRevoke]: {\n 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)\n },\n [TX_TYPE.contract]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)\n },\n [TX_TYPE.contractCreate]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)\n },\n [TX_TYPE.contractCall]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)\n },\n [TX_TYPE.contractCallResult]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)\n },\n [TX_TYPE.oracleRegister]: {\n 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)\n },\n [TX_TYPE.oracleExtend]: {\n 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)\n },\n [TX_TYPE.oracleQuery]: {\n 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)\n },\n [TX_TYPE.oracleResponse]: {\n 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)\n },\n [TX_TYPE.channelCreate]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)\n },\n [TX_TYPE.channelCloseMutual]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)\n },\n [TX_TYPE.channelCloseSolo]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)\n },\n [TX_TYPE.channelSlash]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)\n },\n [TX_TYPE.channelDeposit]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)\n },\n [TX_TYPE.channelWithdraw]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)\n },\n [TX_TYPE.channelSettle]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)\n },\n [TX_TYPE.channelForceProgress]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)\n },\n [TX_TYPE.channelOffChain]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)\n },\n [TX_TYPE.channel]: {\n 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)\n },\n [TX_TYPE.channelSnapshotSolo]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)\n },\n [TX_TYPE.channelOffChainUpdateTransfer]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX\n )\n },\n [TX_TYPE.channelOffChainUpdateDeposit]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX\n )\n },\n [TX_TYPE.channelOffChainUpdateWithdrawal]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX\n )\n },\n [TX_TYPE.channelOffChainCreateContract]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX\n )\n },\n [TX_TYPE.channelOffChainCallContract]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX\n )\n },\n [TX_TYPE.channelReconnect]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)\n },\n [TX_TYPE.proofOfInclusion]: {\n 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)\n },\n [TX_TYPE.stateTrees]: {\n 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)\n },\n [TX_TYPE.merklePatriciaTree]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)\n },\n [TX_TYPE.merklePatriciaTreeValue]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)\n },\n [TX_TYPE.contractsTree]: {\n 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)\n },\n [TX_TYPE.contractCallsTree]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)\n },\n [TX_TYPE.channelsTree]: {\n 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)\n },\n [TX_TYPE.nameserviceTree]: {\n 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)\n },\n [TX_TYPE.oraclesTree]: {\n 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)\n },\n [TX_TYPE.accountsTree]: {\n 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)\n },\n [TX_TYPE.gaAttach]: {\n 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)\n },\n [TX_TYPE.gaMeta]: {\n 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)\n },\n [TX_TYPE.payingFor]: {\n 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)\n }\n}\n\nexport const TX_DESERIALIZATION_SCHEMA = {\n [OBJECT_TAG_ACCOUNT]: {\n 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)\n },\n [OBJECT_TAG_SIGNED_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)\n },\n [OBJECT_TAG_SPEND_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: {\n 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)\n },\n [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT_CALL]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)\n },\n [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)\n },\n [OBJECT_TAG_CHANNEL_CREATE_TX]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)\n },\n [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)\n },\n [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)\n },\n [OBJECT_TAG_CHANNEL_SLASH_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)\n },\n [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)\n },\n [OBJECT_TAG_CHANNEL_WITHRAW_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)\n },\n [OBJECT_TAG_CHANNEL_SETTLE_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)\n },\n [OBJECT_TAG_CHANNEL]: {\n 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)\n },\n [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_RECONNECT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)\n },\n [OBJECT_TAG_PROOF_OF_INCLUSION]: {\n 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)\n },\n [OBJECT_TAG_STATE_TREES]: {\n 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)\n },\n [OBJECT_TAG_MERKLE_PATRICIA_TREE]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)\n },\n [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)\n },\n [OBJECT_TAG_CONTRACTS_TREE]: {\n 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)\n },\n [OBJECT_TAG_CONTRACT_CALLS_TREE]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)\n },\n [OBJECT_TAG_CHANNELS_TREE]: {\n 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)\n },\n [OBJECT_TAG_NAMESERVICE_TREE]: {\n 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)\n },\n [OBJECT_TAG_ORACLES_TREE]: {\n 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)\n },\n [OBJECT_TAG_ACCOUNTS_TREE]: {\n 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)\n },\n [OBJECT_TAG_GA_ATTACH]: {\n 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)\n },\n [OBJECT_TAG_GA_META]: {\n 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)\n },\n [OBJECT_TAG_PAYING_FOR]: {\n 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)\n },\n [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)\n },\n [OBJECT_TAG_SOPHIA_BYTE_CODE]: {\n 3: TX_SCHEMA_FIELD(CONTRACT_BYTE_CODE_LIMA, OBJECT_TAG_SOPHIA_BYTE_CODE)\n }\n}\n"],"file":"schema.js"}
|
package/es/tx/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tx/index.js"],"names":["stampit","required","Tx","methods","spendTx","namePreclaimTx","nameClaimTx","nameTransferTx","nameUpdateTx","nameRevokeTx","contractCreateTx","contractCallTx","oracleRegisterTx","oracleExtendTx","oraclePostQueryTx","oracleRespondTx","getAccountNonce","channelCloseSoloTx","channelSlashTx","channelSettleTx","channelSnapshotSoloTx","gaAttachTx","getVmVersion","prepareTxParams"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,OAAP,MAAoB,WAApB;AACA,SAASC,QAAT,QAAyB,iBAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,EAAE,GAAGF,OAAO,CAACC,QAAQ,CAAC;AAC1BE,EAAAA,OAAO,EAAE;AACPC,IAAAA,OAAO,EAAEH,QADF;AAEPI,IAAAA,cAAc,EAAEJ,QAFT;AAGPK,IAAAA,WAAW,EAAEL,QAHN;AAIPM,IAAAA,cAAc,EAAEN,QAJT;AAKPO,IAAAA,YAAY,EAAEP,QALP;AAMPQ,IAAAA,YAAY,EAAER,QANP;AAOPS,IAAAA,gBAAgB,EAAET,QAPX;AAQPU,IAAAA,cAAc,EAAEV,QART;AASPW,IAAAA,gBAAgB,EAAEX,QATX;AAUPY,IAAAA,cAAc,EAAEZ,QAVT;AAWPa,IAAAA,iBAAiB,EAAEb,QAXZ;AAYPc,IAAAA,eAAe,EAAEd,QAZV;AAaPe,IAAAA,eAAe,EAAEf,QAbV;AAcPgB,IAAAA,kBAAkB,EAAEhB,QAdb;AAePiB,IAAAA,cAAc,EAAEjB,QAfT;AAgBPkB,IAAAA,eAAe,EAAElB,QAhBV;AAiBPmB,IAAAA,qBAAqB,EAAEnB,QAjBhB;AAkBPoB,IAAAA,UAAU,EAAEpB,QAlBL;AAmBPqB,IAAAA,YAAY,EAAErB,QAnBP;AAoBPsB,IAAAA,eAAe,EAAEtB;AApBV;AADiB,CAAD,CAAT,CAAlB;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAeC,EAAf","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Tx module\n * @module @aeternity/aepp-sdk/es/tx\n * @export Tx\n * @example import { Tx } from '@aeternity/aepp-sdk'\n */\n\nimport stampit from '@stamp/it'\nimport { required } from '@stamp/required'\n\n/**\n * Basic Tx Stamp\n *\n * Attempting to create instances from the Stamp without overwriting all\n * abstract methods using composition will result in an exception.\n *\n * Tx is one of the three basic building blocks of an\n * {@link module:@aeternity/aepp-sdk/es/ae--Ae} client and provides methods to\n * create aeternity transactions.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @return {Object} Tx instance\n * @example Tx()\n */\nconst Tx = stampit(required({\n methods: {\n spendTx: required,\n namePreclaimTx: required,\n nameClaimTx: required,\n nameTransferTx: required,\n nameUpdateTx: required,\n nameRevokeTx: required,\n contractCreateTx: required,\n contractCallTx: required,\n oracleRegisterTx: required,\n oracleExtendTx: required,\n oraclePostQueryTx: required,\n oracleRespondTx: required,\n getAccountNonce: required,\n channelCloseSoloTx: required,\n channelSlashTx: required,\n channelSettleTx: required,\n channelSnapshotSoloTx: required,\n gaAttachTx: required,\n getVmVersion: required,\n prepareTxParams: required\n }\n}))\n\n/**\n * Create a `spend_tx` transaction\n * @function spendTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * sender?: String,\n * recipientId: String,\n * amount: Number,\n * fee?: Number,\n * ttl?: Number,\n * nonce?: Number,\n * payload?: String\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `spend_tx` transaction\n */\n\n/**\n * Create a `name_preclaim_tx` transaction\n * @function namePreclaimTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * account?: String, commitment: String, fee?: Number, ttl?: Number, nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_preclaim_tx` transaction\n */\n\n/**\n * Create a `name_claim_tx` transaction\n * @function nameClaimTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * account?: String, name: String, nameSalt: String, fee?: Number, ttl?: Number, nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_claim_tx` transaction\n */\n\n/**\n * Create a `name_transfer_tx` transaction\n * @function nameTransferTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * account?: String,\n * nameId: String,\n * recipientId: String,\n * fee?: Number,\n * ttl?: Number,\n * nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_transfer_tx` transaction\n */\n\n/**\n * Create a `name_update_tx` transaction\n * @function nameUpdateTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * account?: String,\n * nameId: String,\n * pointers: Object,\n * nameTtl: Number,\n * clientTtl: Number,\n * fee?: Number,\n * ttl?: Number,\n * nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_update_tx` transaction\n */\n\n/**\n * Create a `name_revoke_tx` transaction\n * @function nameRevokeTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * account?: String, nameId: String, fee?: Number, ttl?: Number, nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_revoke_tx` transaction\n */\n\n/**\n * Create a `contract_create_tx` transaction\n * @function contractCreateTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * owner: String,\n * code: String,\n * callData: String,\n * vmVersion: Number,\n * deposit: Number,\n * amount: Number,\n * gas: Number,\n * gasPrice: Number,\n * fee?: Number,\n * ttl?: Number,\n * nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `contract_create_tx` transaction\n */\n\n/**\n * Create a `contract_call_tx` transaction\n * @function contractCallTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * callerId: String,\n * contract: String,\n * callData: String,\n * vmVersion: Number,\n * amount: Number,\n * gas: Number,\n * gasPrice: Number,\n * fee?: Number,\n * ttl?: Number,\n * nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `contract_call_tx` transaction\n */\n\n/**\n * Create a `oracle_register_tx` transaction\n * @function oracleRegisterTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * accountId: String,\n * queryFormat: String,\n * responseFormat: String,\n * queryFee: String|Number,\n * oracleTtl: Object,\n * vmVersion: Number = ORACLE_VM_VERSION,\n * fee?: Number,\n * ttl?: Number,\n * nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `oracle_register_tx` transaction\n */\n\n/**\n * Create a `oracle_extend_tx` transaction\n * @function oracleExtendTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * oracleId: String,\n * callerId: String,\n * oracleTtl: Object,\n * fee?: Number,\n * ttl: Number,\n * nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `oracle_extend_tx` transaction\n */\n\n/**\n * Create a `oracle_post_query_tx` transaction\n * @function oraclePostQuery\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * oracleId: String,\n * responseTtl: Object,\n * query: String,\n * queryTtl: Object,\n * queryFee: String|Number,\n * senderId: String,\n * fee?: Number,\n * ttl: Number,\n * nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `oracle_post_query_tx` transaction\n */\n\n/**\n * Create a `oracle_respond_tx` transaction\n * @function oracleRespondTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({\n * oracleId: String,\n * callerId: String,\n * responseTtl: Object,\n * queryId: String,\n * response: String,\n * fee?: Number,\n * ttl?: Number,\n * nonce?: Number\n * }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `oracle_respond_tx` transaction\n */\n\n/**\n * Get Account Nonce\n * @function getAccountNonce\n * @instance\n * @abstract\n * @category async\n * @rtype (address) => result: Number\n * @param {String} address - Account public key\n * @return {Number} Result\n */\n\nexport default Tx\n"],"file":"index.js"}
|
package/es/tx/tx-object.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tx/tx-object.js"],"names":["stampit","buildTx","calculateFee","unpackTx","TX_TYPE","encode","isHex","buildTransaction","type","params","options","Error","Object","values","includes","fee","gas","vsn","rlpEncoded","binary","tx","encodedTx","txObject","unpackTransaction","txType","Buffer","isBuffer","initTransaction","TxObject","init","signatures","assign","signed","isSigned","statics","fromString","fromRlp","methods","setProp","props","getSignatures","addSignature","signature","from","Uint8Array","calculateMinFee"],"mappings":"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","sourcesContent":["/**\n * TxObject module\n * @module @aeternity/aepp-sdk/es/tx/tx-object\n * @export TxObject\n * @example import TxObject from '@aeternity/aepp-sdk/es/tx/tx-object'\n */\nimport stampit from '@stamp/it'\nimport { buildTx, calculateFee, unpackTx } from './builder'\nimport { TX_TYPE } from './builder/schema'\nimport { encode } from './builder/helpers'\nimport { isHex } from '../utils/string'\n\n/**\n * Build transaction from object\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {String} type Transaction type\n * @param {Object} params Transaction params\n * @param {Object} [options={}] Options\n * @throws {Error} Arguments validation error's\n * @return {{\n * encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, params: Object, type: String\n * }}\n */\nconst buildTransaction = (type, params, options = {}) => {\n if (typeof params !== 'object') throw new Error('\"params\" should be an object')\n if (typeof type !== 'string' || !Object.values(TX_TYPE).includes(type)) throw new Error(`Unknown transaction type ${type}`)\n const fee = calculateFee(params.fee, type, { gas: params.gas, params, vsn: params.vsn })\n const { rlpEncoded, binary, tx: encodedTx, txObject } = buildTx(\n { ...params, fee }, type, { vsn: params.vsn, ...options }\n )\n return { rlpEncoded, binary, encodedTx, params: txObject, type }\n}\n\n/**\n * Unpack transaction from RLP encoded binary or base64c string\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Buffer|String} tx RLP encoded binary or base64c(rlpBinary) string\n * @throws {Error} Arguments validation error's\n * @return {{\n * encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object\n * }}\n */\nconst unpackTransaction = (tx) => {\n if (!tx) throw new Error(`Invalid transaction: ${tx}`)\n if (typeof tx === 'string') {\n const { txType: type, tx: params, rlpEncoded, binary } = unpackTx(tx)\n return { encodedTx: tx, type, params, rlpEncoded, binary }\n }\n if (Buffer.isBuffer(tx)) {\n const { txType: type, tx: params, rlpEncoded, binary } = unpackTx(tx, true)\n return { encodedTx: encode(tx, 'tx'), type, params, rlpEncoded, binary }\n }\n}\n\n/**\n * Helper which build or unpack transaction base on constructor arguments\n * Need to provide one of arguments: [tx] -> unpack flow or [params, type] -> build flow\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Buffer|String} [tx] Transaction rlp binary or vase64c string\n * @param {Object} params Transaction params\n * @param {String} type Transaction type\n * @param {Object} [options={}] Options\n * @throws {Error} Arguments validation error's\n * @return {{\n * encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object\n * }}\n */\nconst initTransaction = ({ tx, params, type, options = {} } = {}) => {\n if (params && type) return buildTransaction(type, params, options)\n if (tx) return unpackTransaction(tx)\n throw new Error('Invalid TxObject arguments. Please provide one of { tx: \"tx_asdasd23...\" } or { type: \"spendTx\", params: {...} }')\n}\n\n/**\n * Transaction Validator Stamp\n * This stamp give us possibility to unpack and validate some of transaction properties,\n * to make sure we can post it to the chain\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @param {Buffer|String} [options.tx] - Rlp binary or base64c transaction\n * @param {Object} [options.params] - Transaction params\n * @param {String} [options.type] - Transaction type\n * @param {Object} [options.options] - Build options\n * @return {Object} TxObject instance\n * @example TxObject({ params: {...}, type: 'spendTx' })\n */\nexport const TxObject = stampit({\n init ({ tx, params, type, options = {} } = {}) {\n this.options = options\n this.signatures = []\n Object.assign(this, initTransaction({ tx, params, type, options }))\n\n if (this.type === TX_TYPE.signed) {\n const { signatures, encodedTx: { txType, tx } } = this.params\n this.signatures = signatures\n this.params = tx\n this.type = txType\n this.isSigned = true\n }\n },\n statics: {\n /**\n * Create txObject from base64c RLP encoded transaction string with 'tx_' prefix\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @static\n * @param {String} tx Transaction string (tx_23fsdgsdfg...)\n * @return {TxObject}\n */\n fromString: (tx) => TxObject({ tx }),\n /**\n * Create txObject from transaction RLP binary\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @static\n * @param {Buffer} tx Transaction RLP binary\n * @return {TxObject}\n */\n fromRlp: (tx) => TxObject({ tx })\n },\n methods: {\n /**\n * Rebuild transaction with new params and recalculate fee\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Object} props Transaction properties for update\n * @param options\n * @return {TxObject}\n */\n setProp (props = {}, options = {}) {\n if (typeof props !== 'object') throw new Error('Props should be an object')\n this.isSigned = false\n this.signatures = []\n Object.assign(\n this,\n buildTransaction(\n this.type, { ...this.params, ...props, fee: null }, { ...this.options, ...options }\n )\n )\n return this\n },\n /**\n * Get signatures\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @return {Array} Array of signatures\n */\n getSignatures () {\n if (!this.isSigned) throw new Error('Signature not found, transaction is not signed')\n return this.signatures\n },\n /**\n * Add signature\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Buffer|String} signature Signature to add ( Can be: Buffer | Uint8Array | HexString )\n * @return {void}\n */\n addSignature (signature) {\n signature = isHex(signature) ? Buffer.from(signature, 'hex') : signature\n if (!Buffer.isBuffer(signature) && !(signature instanceof Uint8Array)) throw new Error('Invalid signature, signature must be of type Buffer or Uint8Array')\n Object.assign(\n this,\n buildTransaction(\n TX_TYPE.signed,\n { encodedTx: this.rlpEncoded, signatures: [[...this.signatures, signature]] }\n )\n )\n\n const { signatures, encodedTx: { txType, tx } } = this.params\n this.signatures = signatures\n this.params = tx\n this.type = txType\n this.isSigned = true\n },\n /**\n * Calculate fee\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Object} props\n * @return {String} fee\n */\n calculateMinFee (props = {}) {\n const params = { ...this.params, ...props }\n return calculateFee(0, this.type, { gas: params.gas, params, vsn: params.vsn })\n }\n }\n})\n\nexport default TxObject\n"],"file":"tx-object.js"}
|