@aeternity/aepp-sdk 10.0.0-beta.1 → 11.0.1
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} +23 -11
- 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} +14 -11
- package/es/account/multiple.mjs.map +1 -0
- package/es/ae/{aens.js → aens.mjs} +69 -59
- 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} +12 -10
- package/es/ae/index.mjs.map +1 -0
- package/es/ae/{oracle.js → oracle.mjs} +37 -20
- 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} +28 -8
- package/es/chain/index.mjs.map +1 -0
- package/es/chain/{node.js → node.mjs} +133 -90
- 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} +43 -22
- package/es/channel/index.mjs.map +1 -0
- package/es/channel/{internal.js → internal.mjs} +51 -35
- 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} +40 -28
- package/es/contract/ga/index.mjs.map +1 -0
- package/es/encoder.d.ts +26 -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} +15 -12
- package/es/node-pool/index.mjs.map +1 -0
- package/es/{node.js → node.mjs} +17 -11
- package/es/node.mjs.map +1 -0
- package/es/tx/builder/constants.mjs +108 -0
- package/es/tx/builder/constants.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.mjs +321 -0
- package/es/tx/builder/helpers.mjs.map +1 -0
- package/es/tx/builder/{index.js → index.mjs} +92 -74
- package/es/tx/builder/index.mjs.map +1 -0
- package/es/tx/builder/{schema.js → schema.mjs} +16 -172
- package/es/tx/builder/schema.mjs.map +1 -0
- package/es/tx/{index.js → index.mjs} +106 -14
- package/es/tx/index.mjs.map +1 -0
- package/es/tx/{tx-object.js → tx-object.mjs} +31 -18
- 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} +10 -8
- 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} +25 -17
- 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} +7 -3
- 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} +15 -8
- 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} +126 -72
- 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} +23 -14
- 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} +116 -91
- 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} +42 -156
- package/es/utils/crypto.mjs.map +1 -0
- package/es/utils/encoder.mjs +106 -0
- package/es/utils/encoder.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} +49 -15
- package/es/utils/swagger.mjs.map +1 -0
- package/package.json +49 -58
- package/src/account/base.js +3 -1
- package/src/account/memory.js +13 -8
- package/src/account/multiple.js +16 -6
- package/src/ae/aens.js +52 -58
- package/src/ae/aepp.js +2 -2
- package/src/ae/contract.js +21 -154
- package/src/ae/index.js +6 -4
- package/src/ae/oracle.js +33 -14
- package/src/ae/universal.js +4 -2
- package/src/ae/wallet.js +2 -2
- package/src/chain/index.js +29 -6
- package/src/chain/node.js +95 -65
- package/src/channel/handlers.js +30 -20
- package/src/channel/index.js +46 -16
- package/src/channel/internal.js +35 -30
- package/src/contract/aci.js +376 -0
- package/src/contract/compiler.js +22 -113
- package/src/contract/ga/helpers.js +10 -6
- package/src/contract/ga/index.js +31 -24
- package/src/index.js +9 -8
- package/src/node-pool/index.js +13 -10
- package/src/node.js +11 -10
- package/src/tx/builder/constants.js +100 -0
- package/src/tx/builder/field-types.js +61 -0
- package/src/tx/builder/helpers.js +99 -103
- package/src/tx/builder/index.js +81 -40
- package/src/tx/builder/schema.js +44 -132
- package/src/tx/index.js +101 -12
- package/src/tx/tx-object.js +35 -15
- package/src/tx/tx.js +110 -35
- package/src/tx/validator.js +25 -5
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +11 -5
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +35 -13
- package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +14 -7
- package/src/utils/aepp-wallet-communication/helpers.js +6 -14
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +106 -57
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +24 -11
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +95 -53
- package/src/utils/aepp-wallet-communication/schema.ts +80 -0
- package/src/utils/aepp-wallet-communication/wallet-detector.js +6 -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 +11 -155
- package/src/utils/encoder.ts +101 -0
- package/src/utils/errors.ts +683 -0
- package/src/utils/hd-wallet.js +11 -26
- package/src/utils/keystore.js +57 -53
- package/src/utils/mptree.ts +12 -6
- package/src/utils/swagger.js +68 -45
- 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 -308
- 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 -356
- 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 -242
- 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 -158
- package/es/contract/index.js.map +0 -1
- package/es/index.js +0 -56
- 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 +0 -318
- 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/index.js +0 -310
- package/src/contract/aci/transformation.js +0 -72
- package/src/contract/index.js +0 -159
- package/src/utils/aepp-wallet-communication/schema.js +0 -108
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* @example import { Tx } from '@aeternity/aepp-sdk'
|
|
23
23
|
*/
|
|
24
24
|
import stampit from '@stamp/it';
|
|
25
|
-
import
|
|
25
|
+
import _stampRequired from '@stamp/required';
|
|
26
26
|
/**
|
|
27
27
|
* Basic Tx Stamp
|
|
28
28
|
*
|
|
@@ -40,6 +40,9 @@ import { required } from '@stamp/required';
|
|
|
40
40
|
* @example Tx()
|
|
41
41
|
*/
|
|
42
42
|
|
|
43
|
+
const {
|
|
44
|
+
required
|
|
45
|
+
} = _stampRequired;
|
|
43
46
|
const Tx = stampit(required({
|
|
44
47
|
methods: {
|
|
45
48
|
spendTx: required,
|
|
@@ -70,7 +73,15 @@ const Tx = stampit(required({
|
|
|
70
73
|
* @instance
|
|
71
74
|
* @abstract
|
|
72
75
|
* @category async
|
|
73
|
-
* @rtype ({
|
|
76
|
+
* @rtype ({
|
|
77
|
+
* sender?: String,
|
|
78
|
+
* recipientId: String,
|
|
79
|
+
* amount: Number,
|
|
80
|
+
* fee?: Number,
|
|
81
|
+
* ttl?: Number,
|
|
82
|
+
* nonce?: Number,
|
|
83
|
+
* payload?: String
|
|
84
|
+
* }) => tx: Promise[String]
|
|
74
85
|
* @param {Object} options - The object to extract properties from
|
|
75
86
|
* @return {String} `spend_tx` transaction
|
|
76
87
|
*/
|
|
@@ -81,7 +92,9 @@ const Tx = stampit(required({
|
|
|
81
92
|
* @instance
|
|
82
93
|
* @abstract
|
|
83
94
|
* @category async
|
|
84
|
-
* @rtype ({
|
|
95
|
+
* @rtype ({
|
|
96
|
+
* account?: String, commitment: String, fee?: Number, ttl?: Number, nonce?: Number
|
|
97
|
+
* }) => tx: Promise[String]
|
|
85
98
|
* @param {Object} options - The object to extract properties from
|
|
86
99
|
* @return {String} `name_preclaim_tx` transaction
|
|
87
100
|
*/
|
|
@@ -92,7 +105,9 @@ const Tx = stampit(required({
|
|
|
92
105
|
* @instance
|
|
93
106
|
* @abstract
|
|
94
107
|
* @category async
|
|
95
|
-
* @rtype ({
|
|
108
|
+
* @rtype ({
|
|
109
|
+
* account?: String, name: String, nameSalt: String, fee?: Number, ttl?: Number, nonce?: Number
|
|
110
|
+
* }) => tx: Promise[String]
|
|
96
111
|
* @param {Object} options - The object to extract properties from
|
|
97
112
|
* @return {String} `name_claim_tx` transaction
|
|
98
113
|
*/
|
|
@@ -103,7 +118,14 @@ const Tx = stampit(required({
|
|
|
103
118
|
* @instance
|
|
104
119
|
* @abstract
|
|
105
120
|
* @category async
|
|
106
|
-
* @rtype ({
|
|
121
|
+
* @rtype ({
|
|
122
|
+
* account?: String,
|
|
123
|
+
* nameId: String,
|
|
124
|
+
* recipientId: String,
|
|
125
|
+
* fee?: Number,
|
|
126
|
+
* ttl?: Number,
|
|
127
|
+
* nonce?: Number
|
|
128
|
+
* }) => tx: Promise[String]
|
|
107
129
|
* @param {Object} options - The object to extract properties from
|
|
108
130
|
* @return {String} `name_transfer_tx` transaction
|
|
109
131
|
*/
|
|
@@ -114,7 +136,16 @@ const Tx = stampit(required({
|
|
|
114
136
|
* @instance
|
|
115
137
|
* @abstract
|
|
116
138
|
* @category async
|
|
117
|
-
* @rtype ({
|
|
139
|
+
* @rtype ({
|
|
140
|
+
* account?: String,
|
|
141
|
+
* nameId: String,
|
|
142
|
+
* pointers: Object,
|
|
143
|
+
* nameTtl: Number,
|
|
144
|
+
* clientTtl: Number,
|
|
145
|
+
* fee?: Number,
|
|
146
|
+
* ttl?: Number,
|
|
147
|
+
* nonce?: Number
|
|
148
|
+
* }) => tx: Promise[String]
|
|
118
149
|
* @param {Object} options - The object to extract properties from
|
|
119
150
|
* @return {String} `name_update_tx` transaction
|
|
120
151
|
*/
|
|
@@ -125,7 +156,9 @@ const Tx = stampit(required({
|
|
|
125
156
|
* @instance
|
|
126
157
|
* @abstract
|
|
127
158
|
* @category async
|
|
128
|
-
* @rtype ({
|
|
159
|
+
* @rtype ({
|
|
160
|
+
* account?: String, nameId: String, fee?: Number, ttl?: Number, nonce?: Number
|
|
161
|
+
* }) => tx: Promise[String]
|
|
129
162
|
* @param {Object} options - The object to extract properties from
|
|
130
163
|
* @return {String} `name_revoke_tx` transaction
|
|
131
164
|
*/
|
|
@@ -136,7 +169,19 @@ const Tx = stampit(required({
|
|
|
136
169
|
* @instance
|
|
137
170
|
* @abstract
|
|
138
171
|
* @category async
|
|
139
|
-
* @rtype ({
|
|
172
|
+
* @rtype ({
|
|
173
|
+
* owner: String,
|
|
174
|
+
* code: String,
|
|
175
|
+
* callData: String,
|
|
176
|
+
* vmVersion: Number,
|
|
177
|
+
* deposit: Number,
|
|
178
|
+
* amount: Number,
|
|
179
|
+
* gas: Number,
|
|
180
|
+
* gasPrice: Number,
|
|
181
|
+
* fee?: Number,
|
|
182
|
+
* ttl?: Number,
|
|
183
|
+
* nonce?: Number
|
|
184
|
+
* }) => tx: Promise[String]
|
|
140
185
|
* @param {Object} options - The object to extract properties from
|
|
141
186
|
* @return {String} `contract_create_tx` transaction
|
|
142
187
|
*/
|
|
@@ -147,7 +192,18 @@ const Tx = stampit(required({
|
|
|
147
192
|
* @instance
|
|
148
193
|
* @abstract
|
|
149
194
|
* @category async
|
|
150
|
-
* @rtype ({
|
|
195
|
+
* @rtype ({
|
|
196
|
+
* callerId: String,
|
|
197
|
+
* contract: String,
|
|
198
|
+
* callData: String,
|
|
199
|
+
* vmVersion: Number,
|
|
200
|
+
* amount: Number,
|
|
201
|
+
* gas: Number,
|
|
202
|
+
* gasPrice: Number,
|
|
203
|
+
* fee?: Number,
|
|
204
|
+
* ttl?: Number,
|
|
205
|
+
* nonce?: Number
|
|
206
|
+
* }) => tx: Promise[String]
|
|
151
207
|
* @param {Object} options - The object to extract properties from
|
|
152
208
|
* @return {String} `contract_call_tx` transaction
|
|
153
209
|
*/
|
|
@@ -158,7 +214,17 @@ const Tx = stampit(required({
|
|
|
158
214
|
* @instance
|
|
159
215
|
* @abstract
|
|
160
216
|
* @category async
|
|
161
|
-
* @rtype ({
|
|
217
|
+
* @rtype ({
|
|
218
|
+
* accountId: String,
|
|
219
|
+
* queryFormat: String,
|
|
220
|
+
* responseFormat: String,
|
|
221
|
+
* queryFee: String|Number,
|
|
222
|
+
* oracleTtl: Object,
|
|
223
|
+
* vmVersion: Number = ORACLE_VM_VERSION,
|
|
224
|
+
* fee?: Number,
|
|
225
|
+
* ttl?: Number,
|
|
226
|
+
* nonce?: Number
|
|
227
|
+
* }) => tx: Promise[String]
|
|
162
228
|
* @param {Object} options - The object to extract properties from
|
|
163
229
|
* @return {String} `oracle_register_tx` transaction
|
|
164
230
|
*/
|
|
@@ -169,7 +235,14 @@ const Tx = stampit(required({
|
|
|
169
235
|
* @instance
|
|
170
236
|
* @abstract
|
|
171
237
|
* @category async
|
|
172
|
-
* @rtype ({
|
|
238
|
+
* @rtype ({
|
|
239
|
+
* oracleId: String,
|
|
240
|
+
* callerId: String,
|
|
241
|
+
* oracleTtl: Object,
|
|
242
|
+
* fee?: Number,
|
|
243
|
+
* ttl: Number,
|
|
244
|
+
* nonce?: Number
|
|
245
|
+
* }) => tx: Promise[String]
|
|
173
246
|
* @param {Object} options - The object to extract properties from
|
|
174
247
|
* @return {String} `oracle_extend_tx` transaction
|
|
175
248
|
*/
|
|
@@ -180,7 +253,17 @@ const Tx = stampit(required({
|
|
|
180
253
|
* @instance
|
|
181
254
|
* @abstract
|
|
182
255
|
* @category async
|
|
183
|
-
* @rtype ({
|
|
256
|
+
* @rtype ({
|
|
257
|
+
* oracleId: String,
|
|
258
|
+
* responseTtl: Object,
|
|
259
|
+
* query: String,
|
|
260
|
+
* queryTtl: Object,
|
|
261
|
+
* queryFee: String|Number,
|
|
262
|
+
* senderId: String,
|
|
263
|
+
* fee?: Number,
|
|
264
|
+
* ttl: Number,
|
|
265
|
+
* nonce?: Number
|
|
266
|
+
* }) => tx: Promise[String]
|
|
184
267
|
* @param {Object} options - The object to extract properties from
|
|
185
268
|
* @return {String} `oracle_post_query_tx` transaction
|
|
186
269
|
*/
|
|
@@ -191,7 +274,16 @@ const Tx = stampit(required({
|
|
|
191
274
|
* @instance
|
|
192
275
|
* @abstract
|
|
193
276
|
* @category async
|
|
194
|
-
* @rtype ({
|
|
277
|
+
* @rtype ({
|
|
278
|
+
* oracleId: String,
|
|
279
|
+
* callerId: String,
|
|
280
|
+
* responseTtl: Object,
|
|
281
|
+
* queryId: String,
|
|
282
|
+
* response: String,
|
|
283
|
+
* fee?: Number,
|
|
284
|
+
* ttl?: Number,
|
|
285
|
+
* nonce?: Number
|
|
286
|
+
* }) => tx: Promise[String]
|
|
195
287
|
* @param {Object} options - The object to extract properties from
|
|
196
288
|
* @return {String} `oracle_respond_tx` transaction
|
|
197
289
|
*/
|
|
@@ -208,4 +300,4 @@ const Tx = stampit(required({
|
|
|
208
300
|
*/
|
|
209
301
|
|
|
210
302
|
export default Tx;
|
|
211
|
-
//# sourceMappingURL=index.
|
|
303
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tx/index.js"],"names":["stampit","Tx","required","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,2BAAyB,iBAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA,MAAMC,EAAE,GAAGD,OAAO,CAACE,QAAQ,CAAC;AAC1BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,OAAO,EAAEF,QADF;AAEPG,IAAAA,cAAc,EAAEH,QAFT;AAGPI,IAAAA,WAAW,EAAEJ,QAHN;AAIPK,IAAAA,cAAc,EAAEL,QAJT;AAKPM,IAAAA,YAAY,EAAEN,QALP;AAMPO,IAAAA,YAAY,EAAEP,QANP;AAOPQ,IAAAA,gBAAgB,EAAER,QAPX;AAQPS,IAAAA,cAAc,EAAET,QART;AASPU,IAAAA,gBAAgB,EAAEV,QATX;AAUPW,IAAAA,cAAc,EAAEX,QAVT;AAWPY,IAAAA,iBAAiB,EAAEZ,QAXZ;AAYPa,IAAAA,eAAe,EAAEb,QAZV;AAaPc,IAAAA,eAAe,EAAEd,QAbV;AAcPe,IAAAA,kBAAkB,EAAEf,QAdb;AAePgB,IAAAA,cAAc,EAAEhB,QAfT;AAgBPiB,IAAAA,eAAe,EAAEjB,QAhBV;AAiBPkB,IAAAA,qBAAqB,EAAElB,QAjBhB;AAkBPmB,IAAAA,UAAU,EAAEnB,QAlBL;AAmBPoB,IAAAA,YAAY,EAAEpB,QAnBP;AAoBPqB,IAAAA,eAAe,EAAErB;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,eAAeD,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.mjs"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import _buffer from "buffer";
|
|
2
|
+
const {
|
|
3
|
+
Buffer: _Buffer
|
|
4
|
+
} = _buffer;
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* TxObject module
|
|
3
8
|
* @module @aeternity/aepp-sdk/es/tx/tx-object
|
|
@@ -5,10 +10,11 @@
|
|
|
5
10
|
* @example import TxObject from '@aeternity/aepp-sdk/es/tx/tx-object'
|
|
6
11
|
*/
|
|
7
12
|
import stampit from '@stamp/it';
|
|
8
|
-
import { buildTx, calculateFee, unpackTx } from
|
|
9
|
-
import { TX_TYPE } from
|
|
10
|
-
import { encode } from
|
|
11
|
-
import { isHex } from
|
|
13
|
+
import { buildTx, calculateFee, unpackTx } from "./builder/index.mjs";
|
|
14
|
+
import { TX_TYPE } from "./builder/schema.mjs";
|
|
15
|
+
import { encode } from "./builder/helpers.mjs";
|
|
16
|
+
import { isHex } from "../utils/string.mjs";
|
|
17
|
+
import { InvalidTxError, TypeError, UnknownTxError, InvalidSignatureError } from "../utils/errors.mjs";
|
|
12
18
|
/**
|
|
13
19
|
* Build transaction from object
|
|
14
20
|
* @alias module:@aeternity/aepp-sdk/es/tx/tx-object
|
|
@@ -16,13 +22,15 @@ import { isHex } from '../utils/string';
|
|
|
16
22
|
* @param {Object} params Transaction params
|
|
17
23
|
* @param {Object} [options={}] Options
|
|
18
24
|
* @throws {Error} Arguments validation error's
|
|
19
|
-
* @return {{
|
|
25
|
+
* @return {{
|
|
26
|
+
* encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, params: Object, type: String
|
|
27
|
+
* }}
|
|
20
28
|
*/
|
|
21
29
|
|
|
22
30
|
const buildTransaction = function (type, params) {
|
|
23
31
|
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
24
|
-
if (typeof params !== 'object') throw new
|
|
25
|
-
if (typeof type !== 'string' || !Object.values(TX_TYPE).includes(type)) throw new
|
|
32
|
+
if (typeof params !== 'object') throw new TypeError('tx "params" should be an object');
|
|
33
|
+
if (typeof type !== 'string' || !Object.values(TX_TYPE).includes(type)) throw new UnknownTxError(`Unknown transaction type ${type}`);
|
|
26
34
|
const fee = calculateFee(params.fee, type, {
|
|
27
35
|
gas: params.gas,
|
|
28
36
|
params,
|
|
@@ -50,14 +58,16 @@ const buildTransaction = function (type, params) {
|
|
|
50
58
|
/**
|
|
51
59
|
* Unpack transaction from RLP encoded binary or base64c string
|
|
52
60
|
* @alias module:@aeternity/aepp-sdk/es/tx/tx-object
|
|
53
|
-
* @param {
|
|
61
|
+
* @param {Uint8Array|String} tx RLP encoded binary or base64c(rlpBinary) string
|
|
54
62
|
* @throws {Error} Arguments validation error's
|
|
55
|
-
* @return {{
|
|
63
|
+
* @return {{
|
|
64
|
+
* encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object
|
|
65
|
+
* }}
|
|
56
66
|
*/
|
|
57
67
|
|
|
58
68
|
|
|
59
69
|
const unpackTransaction = tx => {
|
|
60
|
-
if (!tx) throw new
|
|
70
|
+
if (!tx) throw new InvalidTxError(`Invalid transaction: ${tx}`);
|
|
61
71
|
|
|
62
72
|
if (typeof tx === 'string') {
|
|
63
73
|
const {
|
|
@@ -75,7 +85,7 @@ const unpackTransaction = tx => {
|
|
|
75
85
|
};
|
|
76
86
|
}
|
|
77
87
|
|
|
78
|
-
if (
|
|
88
|
+
if (tx instanceof Uint8Array) {
|
|
79
89
|
const {
|
|
80
90
|
txType: type,
|
|
81
91
|
tx: params,
|
|
@@ -90,6 +100,8 @@ const unpackTransaction = tx => {
|
|
|
90
100
|
binary
|
|
91
101
|
};
|
|
92
102
|
}
|
|
103
|
+
|
|
104
|
+
throw new InvalidTxError(`"tx" should be a string or Uint8Array, got ${tx} instead`);
|
|
93
105
|
};
|
|
94
106
|
/**
|
|
95
107
|
* Helper which build or unpack transaction base on constructor arguments
|
|
@@ -100,7 +112,9 @@ const unpackTransaction = tx => {
|
|
|
100
112
|
* @param {String} type Transaction type
|
|
101
113
|
* @param {Object} [options={}] Options
|
|
102
114
|
* @throws {Error} Arguments validation error's
|
|
103
|
-
* @return {{
|
|
115
|
+
* @return {{
|
|
116
|
+
* encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object
|
|
117
|
+
* }}
|
|
104
118
|
*/
|
|
105
119
|
|
|
106
120
|
|
|
@@ -113,7 +127,7 @@ const initTransaction = function () {
|
|
|
113
127
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
114
128
|
if (params && type) return buildTransaction(type, params, options);
|
|
115
129
|
if (tx) return unpackTransaction(tx);
|
|
116
|
-
throw new
|
|
130
|
+
throw new InvalidTxError('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }');
|
|
117
131
|
};
|
|
118
132
|
/**
|
|
119
133
|
* Transaction Validator Stamp
|
|
@@ -198,7 +212,7 @@ export const TxObject = stampit({
|
|
|
198
212
|
setProp() {
|
|
199
213
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
200
214
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
201
|
-
if (typeof props !== 'object') throw new
|
|
215
|
+
if (typeof props !== 'object') throw new TypeError('Props should be an object');
|
|
202
216
|
this.isSigned = false;
|
|
203
217
|
this.signatures = [];
|
|
204
218
|
Object.assign(this, buildTransaction(this.type, { ...this.params,
|
|
@@ -216,7 +230,6 @@ export const TxObject = stampit({
|
|
|
216
230
|
* @return {Array} Array of signatures
|
|
217
231
|
*/
|
|
218
232
|
getSignatures() {
|
|
219
|
-
if (!this.isSigned) throw new Error('Signature not found, transaction is not signed');
|
|
220
233
|
return this.signatures;
|
|
221
234
|
},
|
|
222
235
|
|
|
@@ -227,8 +240,8 @@ export const TxObject = stampit({
|
|
|
227
240
|
* @return {void}
|
|
228
241
|
*/
|
|
229
242
|
addSignature(signature) {
|
|
230
|
-
signature = isHex(signature) ?
|
|
231
|
-
if (!
|
|
243
|
+
signature = isHex(signature) ? _Buffer.from(signature, 'hex') : signature;
|
|
244
|
+
if (!_Buffer.isBuffer(signature) && !(signature instanceof Uint8Array)) throw new InvalidSignatureError('Invalid signature, signature must be of type Buffer or Uint8Array');
|
|
232
245
|
Object.assign(this, buildTransaction(TX_TYPE.signed, {
|
|
233
246
|
encodedTx: this.rlpEncoded,
|
|
234
247
|
signatures: [[...this.signatures, signature]]
|
|
@@ -267,4 +280,4 @@ export const TxObject = stampit({
|
|
|
267
280
|
}
|
|
268
281
|
});
|
|
269
282
|
export default TxObject;
|
|
270
|
-
//# sourceMappingURL=tx-object.
|
|
283
|
+
//# sourceMappingURL=tx-object.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tx/tx-object.js"],"names":["stampit","buildTx","calculateFee","unpackTx","TX_TYPE","encode","isHex","InvalidTxError","TypeError","UnknownTxError","InvalidSignatureError","buildTransaction","type","params","options","Object","values","includes","fee","gas","vsn","rlpEncoded","binary","tx","encodedTx","txObject","unpackTransaction","txType","Uint8Array","initTransaction","TxObject","init","signatures","assign","signed","isSigned","statics","fromString","fromRlp","methods","setProp","props","getSignatures","addSignature","signature","from","isBuffer","calculateMinFee"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,OAAP,MAAoB,WAApB;SACSC,O,EAASC,Y,EAAcC,Q;SACvBC,O;SACAC,M;SACAC,K;SACAC,c,EAAgBC,S,EAAWC,c,EAAgBC,qB;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,gBAAgB,GAAG,UAACC,IAAD,EAAOC,MAAP,EAAgC;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AACvD,MAAI,OAAOD,MAAP,KAAkB,QAAtB,EAAgC,MAAM,IAAIL,SAAJ,CAAc,iCAAd,CAAN;AAChC,MAAI,OAAOI,IAAP,KAAgB,QAAhB,IAA4B,CAACG,MAAM,CAACC,MAAP,CAAcZ,OAAd,EAAuBa,QAAvB,CAAgCL,IAAhC,CAAjC,EAAwE,MAAM,IAAIH,cAAJ,CAAoB,4BAA2BG,IAAK,EAApD,CAAN;AACxE,QAAMM,GAAG,GAAGhB,YAAY,CAACW,MAAM,CAACK,GAAR,EAAaN,IAAb,EAAmB;AAAEO,IAAAA,GAAG,EAAEN,MAAM,CAACM,GAAd;AAAmBN,IAAAA,MAAnB;AAA2BO,IAAAA,GAAG,EAAEP,MAAM,CAACO;AAAvC,GAAnB,CAAxB;AACA,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,MAAd;AAAsBC,IAAAA,EAAE,EAAEC,SAA1B;AAAqCC,IAAAA;AAArC,MAAkDxB,OAAO,CAC7D,EAAE,GAAGY,MAAL;AAAaK,IAAAA;AAAb,GAD6D,EACzCN,IADyC,EACnC;AAAEQ,IAAAA,GAAG,EAAEP,MAAM,CAACO,GAAd;AAAmB,OAAGN;AAAtB,GADmC,CAA/D;AAGA,SAAO;AAAEO,IAAAA,UAAF;AAAcC,IAAAA,MAAd;AAAsBE,IAAAA,SAAtB;AAAiCX,IAAAA,MAAM,EAAEY,QAAzC;AAAmDb,IAAAA;AAAnD,GAAP;AACD,CARD;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMc,iBAAiB,GAAIH,EAAD,IAAQ;AAChC,MAAI,CAACA,EAAL,EAAS,MAAM,IAAIhB,cAAJ,CAAoB,wBAAuBgB,EAAG,EAA9C,CAAN;;AACT,MAAI,OAAOA,EAAP,KAAc,QAAlB,EAA4B;AAC1B,UAAM;AAAEI,MAAAA,MAAM,EAAEf,IAAV;AAAgBW,MAAAA,EAAE,EAAEV,MAApB;AAA4BQ,MAAAA,UAA5B;AAAwCC,MAAAA;AAAxC,QAAmDnB,QAAQ,CAACoB,EAAD,CAAjE;AACA,WAAO;AAAEC,MAAAA,SAAS,EAAED,EAAb;AAAiBX,MAAAA,IAAjB;AAAuBC,MAAAA,MAAvB;AAA+BQ,MAAAA,UAA/B;AAA2CC,MAAAA;AAA3C,KAAP;AACD;;AACD,MAAIC,EAAE,YAAYK,UAAlB,EAA8B;AAC5B,UAAM;AAAED,MAAAA,MAAM,EAAEf,IAAV;AAAgBW,MAAAA,EAAE,EAAEV,MAApB;AAA4BQ,MAAAA,UAA5B;AAAwCC,MAAAA;AAAxC,QAAmDnB,QAAQ,CAACoB,EAAD,EAAK,IAAL,CAAjE;AACA,WAAO;AAAEC,MAAAA,SAAS,EAAEnB,MAAM,CAACkB,EAAD,EAAK,IAAL,CAAnB;AAA+BX,MAAAA,IAA/B;AAAqCC,MAAAA,MAArC;AAA6CQ,MAAAA,UAA7C;AAAyDC,MAAAA;AAAzD,KAAP;AACD;;AACD,QAAM,IAAIf,cAAJ,CAAoB,8CAA6CgB,EAAG,UAApE,CAAN;AACD,CAXD;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMM,eAAe,GAAG,YAA6C;AAAA,MAA5C;AAAEN,IAAAA,EAAF;AAAMV,IAAAA,MAAN;AAAcD,IAAAA,IAAd;AAAoBE,IAAAA,OAAO,GAAG;AAA9B,GAA4C,uEAAP,EAAO;AACnE,MAAID,MAAM,IAAID,IAAd,EAAoB,OAAOD,gBAAgB,CAACC,IAAD,EAAOC,MAAP,EAAeC,OAAf,CAAvB;AACpB,MAAIS,EAAJ,EAAQ,OAAOG,iBAAiB,CAACH,EAAD,CAAxB;AACR,QAAM,IAAIhB,cAAJ,CAAmB,kHAAnB,CAAN;AACD,CAJD;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAMuB,QAAQ,GAAG9B,OAAO,CAAC;AAC9B+B,EAAAA,IAAI,GAA2C;AAAA,QAAzC;AAAER,MAAAA,EAAF;AAAMV,MAAAA,MAAN;AAAcD,MAAAA,IAAd;AAAoBE,MAAAA,OAAO,GAAG;AAA9B,KAAyC,uEAAJ,EAAI;AAC7C,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKkB,UAAL,GAAkB,EAAlB;AACAjB,IAAAA,MAAM,CAACkB,MAAP,CAAc,IAAd,EAAoBJ,eAAe,CAAC;AAAEN,MAAAA,EAAF;AAAMV,MAAAA,MAAN;AAAcD,MAAAA,IAAd;AAAoBE,MAAAA;AAApB,KAAD,CAAnC;;AAEA,QAAI,KAAKF,IAAL,KAAcR,OAAO,CAAC8B,MAA1B,EAAkC;AAChC,YAAM;AAAEF,QAAAA,UAAF;AAAcR,QAAAA,SAAS,EAAE;AAAEG,UAAAA,MAAF;AAAUJ,UAAAA;AAAV;AAAzB,UAA4C,KAAKV,MAAvD;AACA,WAAKmB,UAAL,GAAkBA,UAAlB;AACA,WAAKnB,MAAL,GAAcU,EAAd;AACA,WAAKX,IAAL,GAAYe,MAAZ;AACA,WAAKQ,QAAL,GAAgB,IAAhB;AACD;AACF,GAb6B;;AAc9BC,EAAAA,OAAO,EAAE;AACP;AACJ;AACA;AACA;AACA;AACA;AACA;AACIC,IAAAA,UAAU,EAAGd,EAAD,IAAQO,QAAQ,CAAC;AAAEP,MAAAA;AAAF,KAAD,CARrB;;AASP;AACJ;AACA;AACA;AACA;AACA;AACA;AACIe,IAAAA,OAAO,EAAGf,EAAD,IAAQO,QAAQ,CAAC;AAAEP,MAAAA;AAAF,KAAD;AAhBlB,GAdqB;AAgC9BgB,EAAAA,OAAO,EAAE;AACP;AACJ;AACA;AACA;AACA;AACA;AACA;AACIC,IAAAA,OAAO,GAA4B;AAAA,UAA1BC,KAA0B,uEAAlB,EAAkB;AAAA,UAAd3B,OAAc,uEAAJ,EAAI;AACjC,UAAI,OAAO2B,KAAP,KAAiB,QAArB,EAA+B,MAAM,IAAIjC,SAAJ,CAAc,2BAAd,CAAN;AAC/B,WAAK2B,QAAL,GAAgB,KAAhB;AACA,WAAKH,UAAL,GAAkB,EAAlB;AACAjB,MAAAA,MAAM,CAACkB,MAAP,CACE,IADF,EAEEtB,gBAAgB,CACd,KAAKC,IADS,EACH,EAAE,GAAG,KAAKC,MAAV;AAAkB,WAAG4B,KAArB;AAA4BvB,QAAAA,GAAG,EAAE;AAAjC,OADG,EACsC,EAAE,GAAG,KAAKJ,OAAV;AAAmB,WAAGA;AAAtB,OADtC,CAFlB;AAMA,aAAO,IAAP;AACD,KAnBM;;AAoBP;AACJ;AACA;AACA;AACA;AACI4B,IAAAA,aAAa,GAAI;AACf,aAAO,KAAKV,UAAZ;AACD,KA3BM;;AA4BP;AACJ;AACA;AACA;AACA;AACA;AACIW,IAAAA,YAAY,CAAEC,SAAF,EAAa;AACvBA,MAAAA,SAAS,GAAGtC,KAAK,CAACsC,SAAD,CAAL,GAAmB,QAAOC,IAAP,CAAYD,SAAZ,EAAuB,KAAvB,CAAnB,GAAmDA,SAA/D;AACA,UAAI,CAAC,QAAOE,QAAP,CAAgBF,SAAhB,CAAD,IAA+B,EAAEA,SAAS,YAAYhB,UAAvB,CAAnC,EAAuE,MAAM,IAAIlB,qBAAJ,CAA0B,mEAA1B,CAAN;AACvEK,MAAAA,MAAM,CAACkB,MAAP,CACE,IADF,EAEEtB,gBAAgB,CACdP,OAAO,CAAC8B,MADM,EAEd;AAAEV,QAAAA,SAAS,EAAE,KAAKH,UAAlB;AAA8BW,QAAAA,UAAU,EAAE,CAAC,CAAC,GAAG,KAAKA,UAAT,EAAqBY,SAArB,CAAD;AAA1C,OAFc,CAFlB;AAQA,YAAM;AAAEZ,QAAAA,UAAF;AAAcR,QAAAA,SAAS,EAAE;AAAEG,UAAAA,MAAF;AAAUJ,UAAAA;AAAV;AAAzB,UAA4C,KAAKV,MAAvD;AACA,WAAKmB,UAAL,GAAkBA,UAAlB;AACA,WAAKnB,MAAL,GAAcU,EAAd;AACA,WAAKX,IAAL,GAAYe,MAAZ;AACA,WAAKQ,QAAL,GAAgB,IAAhB;AACD,KAlDM;;AAmDP;AACJ;AACA;AACA;AACA;AACA;AACIY,IAAAA,eAAe,GAAc;AAAA,UAAZN,KAAY,uEAAJ,EAAI;AAC3B,YAAM5B,MAAM,GAAG,EAAE,GAAG,KAAKA,MAAV;AAAkB,WAAG4B;AAArB,OAAf;AACA,aAAOvC,YAAY,CAAC,CAAD,EAAI,KAAKU,IAAT,EAAe;AAAEO,QAAAA,GAAG,EAAEN,MAAM,CAACM,GAAd;AAAmBN,QAAAA,MAAnB;AAA2BO,QAAAA,GAAG,EAAEP,MAAM,CAACO;AAAvC,OAAf,CAAnB;AACD;;AA5DM;AAhCqB,CAAD,CAAxB;AAgGP,eAAeU,QAAf","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'\nimport { InvalidTxError, TypeError, UnknownTxError, InvalidSignatureError } from '../utils/errors'\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 TypeError('tx \"params\" should be an object')\n if (typeof type !== 'string' || !Object.values(TX_TYPE).includes(type)) throw new UnknownTxError(`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 {Uint8Array|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 InvalidTxError(`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 (tx instanceof Uint8Array) {\n const { txType: type, tx: params, rlpEncoded, binary } = unpackTx(tx, true)\n return { encodedTx: encode(tx, 'tx'), type, params, rlpEncoded, binary }\n }\n throw new InvalidTxError(`\"tx\" should be a string or Uint8Array, got ${tx} instead`)\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 InvalidTxError('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 TypeError('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 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 InvalidSignatureError('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.mjs"}
|
package/es/tx/{tx.js → tx.mjs}
RENAMED
|
@@ -21,12 +21,13 @@
|
|
|
21
21
|
* @export Transaction
|
|
22
22
|
* @example import { Transaction } from '@aeternity/aepp-sdk'
|
|
23
23
|
*/
|
|
24
|
-
import ChainNode from
|
|
25
|
-
import Tx from
|
|
26
|
-
import { buildTx, calculateFee, unpackTx } from
|
|
27
|
-
import { ABI_VERSIONS, MIN_GAS_PRICE, PROTOCOL_VM_ABI, TX_TYPE, TX_TTL } from
|
|
28
|
-
import { buildContractId } from
|
|
29
|
-
import { TxObject } from
|
|
24
|
+
import ChainNode from "../chain/node.mjs";
|
|
25
|
+
import Tx from "./index.mjs";
|
|
26
|
+
import { buildTx, calculateFee, unpackTx } from "./builder/index.mjs";
|
|
27
|
+
import { ABI_VERSIONS, MIN_GAS_PRICE, PROTOCOL_VM_ABI, TX_TYPE, TX_TTL } from "./builder/schema.mjs";
|
|
28
|
+
import { buildContractId, encode } from "./builder/helpers.mjs";
|
|
29
|
+
import { TxObject } from "./tx-object.mjs";
|
|
30
|
+
import { ArgumentError, UnsupportedABIversionError, UnsupportedVMversionError, UnsupportedProtocolError, UnknownTxError } from "../utils/errors.mjs";
|
|
30
31
|
|
|
31
32
|
async function spendTx(_ref) {
|
|
32
33
|
let {
|
|
@@ -138,7 +139,8 @@ async function nameClaimTx(_ref3) {
|
|
|
138
139
|
} : await this.api.postNameClaim({ ...arguments[0],
|
|
139
140
|
nonce,
|
|
140
141
|
ttl,
|
|
141
|
-
fee: parseInt(fee)
|
|
142
|
+
fee: parseInt(fee),
|
|
143
|
+
name: encode(name, 'nm')
|
|
142
144
|
});
|
|
143
145
|
return tx;
|
|
144
146
|
}
|
|
@@ -257,7 +259,6 @@ async function contractCreateTx(_ref7) {
|
|
|
257
259
|
code,
|
|
258
260
|
vmVersion,
|
|
259
261
|
abiVersion,
|
|
260
|
-
deposit,
|
|
261
262
|
amount,
|
|
262
263
|
gas,
|
|
263
264
|
gasPrice = MIN_GAS_PRICE,
|
|
@@ -770,18 +771,18 @@ function getVmVersion(txType) {
|
|
|
770
771
|
consensusProtocolVersion
|
|
771
772
|
} = this.getNodeInfo();
|
|
772
773
|
const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion];
|
|
773
|
-
if (!supportedProtocol) throw new
|
|
774
|
+
if (!supportedProtocol) throw new UnsupportedProtocolError('Not supported consensus protocol version');
|
|
774
775
|
const protocolForTX = supportedProtocol[txType];
|
|
775
|
-
if (!protocolForTX) throw new
|
|
776
|
+
if (!protocolForTX) throw new UnknownTxError('Not supported tx type');
|
|
776
777
|
abiVersion = abiVersion || protocolForTX.abiVersion[0];
|
|
777
778
|
vmVersion = vmVersion || protocolForTX.vmVersion[0];
|
|
778
779
|
|
|
779
780
|
if (!protocolForTX.vmVersion.includes(vmVersion)) {
|
|
780
|
-
throw new
|
|
781
|
+
throw new UnsupportedVMversionError(`VM VERSION ${vmVersion} do not support by this node. Supported: [${protocolForTX.vmVersion}]`);
|
|
781
782
|
}
|
|
782
783
|
|
|
783
784
|
if (!protocolForTX.abiVersion.includes(abiVersion)) {
|
|
784
|
-
throw new
|
|
785
|
+
throw new UnsupportedABIversionError(`ABI VERSION ${abiVersion} do not support by this node. Supported: [${protocolForTX.abiVersion}]`);
|
|
785
786
|
}
|
|
786
787
|
|
|
787
788
|
return {
|
|
@@ -802,7 +803,7 @@ async function calculateTtl() {
|
|
|
802
803
|
let ttl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : TX_TTL;
|
|
803
804
|
let relative = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
804
805
|
if (ttl === 0) return 0;
|
|
805
|
-
if (ttl < 0) throw new
|
|
806
|
+
if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl);
|
|
806
807
|
|
|
807
808
|
if (relative) {
|
|
808
809
|
const {
|
|
@@ -934,4 +935,4 @@ const Transaction = ChainNode.compose(Tx, {
|
|
|
934
935
|
}
|
|
935
936
|
});
|
|
936
937
|
export default Transaction;
|
|
937
|
-
//# sourceMappingURL=tx.
|
|
938
|
+
//# sourceMappingURL=tx.mjs.map
|
package/es/tx/tx.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tx/tx.js"],"names":["ChainNode","Tx","buildTx","calculateFee","unpackTx","ABI_VERSIONS","MIN_GAS_PRICE","PROTOCOL_VM_ABI","TX_TYPE","TX_TTL","buildContractId","encode","TxObject","ArgumentError","UnsupportedABIversionError","UnsupportedVMversionError","UnsupportedProtocolError","UnknownTxError","spendTx","senderId","recipientId","amount","payload","fee","ttl","nonce","prepareTxParams","spend","arguments","tx","nativeMode","params","type","encodedTx","api","postSpend","parseInt","namePreclaimTx","accountId","commitmentId","namePreClaim","postNamePreclaim","nameClaimTx","name","nameSalt","vsn","nameClaim","postNameClaim","nameTransferTx","nameId","nameTransfer","postNameTransfer","nameUpdateTx","nameTtl","pointers","clientTtl","nameUpdate","postNameUpdate","nameRevokeTx","nameRevoke","postNameRevoke","contractCreateTx","ownerId","code","vmVersion","abiVersion","gas","gasPrice","callData","ctVersion","getVmVersion","contractCreate","contractId","postContractCreate","contractCallTx","callerId","contractCall","postContractCall","oracleRegisterTx","queryFormat","responseFormat","queryFee","oracleTtl","NO_ABI","oracleRegister","postOracleRegister","oracleExtendTx","oracleId","oracleExtend","postOracleExtend","oraclePostQueryTx","responseTtl","query","queryTtl","oracleQuery","postOracleQuery","oracleRespondTx","queryId","response","oracleResponse","postOracleRespond","channelCloseSoloTx","channelId","fromId","poi","channelCloseSolo","postChannelCloseSolo","channelSlashTx","channelSlash","postChannelSlash","channelSettleTx","initiatorAmountFinal","responderAmountFinal","channelSettle","postChannelSettle","channelSnapshotSoloTx","channelSnapshotSolo","postChannelSnapshotSolo","gaAttachTx","authFun","gaAttach","payingForTx","payerId","args","payingFor","txType","consensusProtocolVersion","getNodeInfo","supportedProtocol","protocolForTX","includes","calculateTtl","relative","height","getCurrentKeyBlock","getAccountNonce","accountNonce","getAccountByPubkey","catch","n","t","f","absoluteTtl","strategy","getAccountNextNonce","e","nextNonce","call","showWarning","Transaction","compose","init","props","methods"],"mappings":"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","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 * Transaction module\n * @module @aeternity/aepp-sdk/es/tx/tx\n * @export Transaction\n * @example import { Transaction } from '@aeternity/aepp-sdk'\n */\n\nimport ChainNode from '../chain/node'\nimport Tx from './'\nimport { buildTx, calculateFee, unpackTx } from './builder'\nimport { ABI_VERSIONS, MIN_GAS_PRICE, PROTOCOL_VM_ABI, TX_TYPE, TX_TTL } from './builder/schema'\nimport { buildContractId, encode } from './builder/helpers'\nimport { TxObject } from './tx-object'\nimport {\n ArgumentError,\n UnsupportedABIversionError,\n UnsupportedVMversionError,\n UnsupportedProtocolError,\n UnknownTxError\n} from '../utils/errors'\n\nasync function spendTx ({ senderId, recipientId, amount, payload = '' }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.spend, { senderId, ...arguments[0], payload }\n )\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: {\n ...arguments[0],\n recipientId,\n senderId,\n nonce,\n ttl,\n payload\n },\n type: TX_TYPE.spend\n }).encodedTx\n }\n : await this.api.postSpend({\n ...arguments[0],\n amount: parseInt(amount),\n recipientId,\n senderId,\n nonce,\n ttl,\n fee: parseInt(fee),\n payload\n })\n\n return tx\n}\n\nasync function namePreclaimTx ({ accountId, commitmentId }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.namePreClaim, { senderId: accountId, ...arguments[0] }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: { ...arguments[0], nonce, ttl, fee },\n type: TX_TYPE.namePreClaim\n }).encodedTx\n }\n : await this.api.postNamePreclaim({ ...arguments[0], nonce, ttl, fee: parseInt(fee) })\n\n return tx\n}\n\nasync function nameClaimTx ({ accountId, name, nameSalt, vsn = 2 }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.nameClaim, { senderId: accountId, ...arguments[0], vsn }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: { ...arguments[0], nonce, ttl, fee, vsn },\n type: TX_TYPE.nameClaim\n }).encodedTx\n }\n : await this.api.postNameClaim({\n ...arguments[0], nonce, ttl, fee: parseInt(fee), name: encode(name, 'nm')\n })\n\n return tx\n}\n\nasync function nameTransferTx ({ accountId, nameId, recipientId }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.nameTransfer, { senderId: accountId, ...arguments[0] }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: { ...arguments[0], recipientId, nonce, ttl, fee },\n type: TX_TYPE.nameTransfer\n }).encodedTx\n }\n : await this.api.postNameTransfer({\n ...arguments[0], recipientId, nonce, ttl, fee: parseInt(fee)\n })\n\n return tx\n}\n\nasync function nameUpdateTx ({ accountId, nameId, nameTtl, pointers, clientTtl }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.nameUpdate, { senderId: accountId, ...arguments[0] }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: { ...arguments[0], nonce, ttl, fee },\n type: TX_TYPE.nameUpdate\n }).encodedTx\n }\n : await this.api.postNameUpdate({ ...arguments[0], nonce, ttl, fee: parseInt(fee) })\n\n return tx\n}\n\nasync function nameRevokeTx ({ accountId, nameId }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.nameRevoke, { senderId: accountId, ...arguments[0] }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: { ...arguments[0], nonce, ttl, fee },\n type: TX_TYPE.nameRevoke\n }).encodedTx\n }\n : await this.api.postNameRevoke({ ...arguments[0], nonce, ttl, fee: parseInt(fee) })\n\n return tx\n}\n\nasync function contractCreateTx ({\n ownerId, code, vmVersion, abiVersion, amount, gas, gasPrice = MIN_GAS_PRICE, callData\n}) {\n // Get VM_ABI version\n const ctVersion = this.getVmVersion(TX_TYPE.contractCreate, arguments[0])\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.contractCreate, { senderId: ownerId, ...arguments[0], ctVersion, gasPrice }\n )\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n return this.nativeMode\n ? {\n tx: TxObject({\n params: { ...arguments[0], nonce, ttl, fee, ctVersion, gasPrice },\n type: TX_TYPE.contractCreate\n }).encodedTx,\n contractId: buildContractId(ownerId, nonce)\n }\n : this.api.postContractCreate({\n ...arguments[0],\n nonce,\n ttl,\n fee: parseInt(fee),\n gas: parseInt(gas),\n gasPrice,\n vmVersion: ctVersion.vmVersion,\n abiVersion: ctVersion.abiVersion\n })\n}\n\nasync function contractCallTx ({\n callerId, contractId, abiVersion, amount, gas, gasPrice = MIN_GAS_PRICE, callData\n}) {\n const ctVersion = this.getVmVersion(TX_TYPE.contractCall, arguments[0])\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.contractCall,\n { senderId: callerId, ...arguments[0], gasPrice, abiVersion: ctVersion.abiVersion }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: { ...arguments[0], nonce, ttl, fee, abiVersion: ctVersion.abiVersion, gasPrice },\n type: TX_TYPE.contractCall\n }).encodedTx\n }\n : await this.api.postContractCall({\n ...arguments[0],\n nonce,\n ttl,\n fee: parseInt(fee),\n gas: parseInt(gas),\n gasPrice,\n abiVersion: ctVersion.abiVersion\n })\n\n return tx\n}\n\nasync function oracleRegisterTx ({\n accountId, queryFormat, responseFormat, queryFee, oracleTtl, abiVersion = ABI_VERSIONS.NO_ABI\n}) {\n // const { abiVersion: abi } = this.getVmVersion(TX_TYPE.oracleRegister, arguments[0])\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.oracleRegister, { senderId: accountId, ...arguments[0], abiVersion }\n )\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: {\n accountId,\n queryFee,\n abiVersion,\n fee,\n oracleTtl,\n nonce,\n ttl,\n queryFormat,\n responseFormat\n },\n type: TX_TYPE.oracleRegister\n }).encodedTx\n }\n : await this.api.postOracleRegister({\n accountId,\n queryFee,\n abiVersion,\n fee: parseInt(fee),\n oracleTtl,\n nonce,\n ttl,\n queryFormat,\n responseFormat\n })\n\n return tx\n}\n\nasync function oracleExtendTx ({ oracleId, callerId, oracleTtl }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.oracleExtend, { senderId: callerId, ...arguments[0] }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: { oracleId, fee, oracleTtl, nonce, ttl },\n type: TX_TYPE.oracleExtend\n }).encodedTx\n }\n : await this.api.postOracleExtend({ oracleId, fee: parseInt(fee), oracleTtl, nonce, ttl })\n\n return tx\n}\n\nasync function oraclePostQueryTx ({ oracleId, responseTtl, query, queryTtl, queryFee, senderId }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.oracleQuery, { senderId, ...arguments[0] }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: { oracleId, responseTtl, query, queryTtl, fee, queryFee, ttl, nonce, senderId },\n type: TX_TYPE.oracleQuery\n }).encodedTx\n }\n : await this.api.postOracleQuery({\n oracleId,\n responseTtl,\n query,\n queryTtl,\n fee: parseInt(fee),\n queryFee,\n ttl,\n nonce,\n senderId\n })\n\n return tx\n}\n\nasync function oracleRespondTx ({ oracleId, callerId, responseTtl, queryId, response }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.oracleResponse, { senderId: callerId, ...arguments[0] }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? {\n tx: TxObject({\n params: { oracleId, responseTtl, queryId, response, fee, ttl, nonce },\n type: TX_TYPE.oracleResponse\n }).encodedTx\n }\n : await this.api.postOracleRespond({\n oracleId, responseTtl, queryId, response, fee: parseInt(fee), ttl, nonce\n })\n return tx\n}\n\nasync function channelCloseSoloTx ({ channelId, fromId, payload, poi }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.channelCloseSolo, { senderId: fromId, ...arguments[0], payload }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? buildTx({\n ...arguments[0],\n channelId,\n fromId,\n payload,\n poi,\n ttl,\n fee,\n nonce\n }, TX_TYPE.channelCloseSolo)\n : await this.api.postChannelCloseSolo({\n ...arguments[0],\n channelId,\n fromId,\n payload,\n poi,\n ttl,\n fee: parseInt(fee),\n nonce\n })\n\n return tx\n}\n\nasync function channelSlashTx ({ channelId, fromId, payload, poi }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.channelSlash, { senderId: fromId, ...arguments[0], payload }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? buildTx({\n ...arguments[0],\n channelId,\n fromId,\n payload,\n poi,\n ttl,\n fee,\n nonce\n }, TX_TYPE.channelSlash)\n : await this.api.postChannelSlash({\n ...arguments[0],\n channelId,\n fromId,\n payload,\n poi,\n ttl,\n fee: parseInt(fee),\n nonce\n })\n\n return tx\n}\n\nasync function channelSettleTx ({ channelId, fromId, initiatorAmountFinal, responderAmountFinal }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.channelSettle, { senderId: fromId, ...arguments[0] }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? buildTx({\n ...arguments[0],\n channelId,\n fromId,\n initiatorAmountFinal,\n responderAmountFinal,\n ttl,\n fee,\n nonce\n }, TX_TYPE.channelSettle)\n : await this.api.postChannelSettle({\n ...arguments[0],\n channelId,\n fromId,\n initiatorAmountFinal: parseInt(initiatorAmountFinal),\n responderAmountFinal: parseInt(responderAmountFinal),\n ttl,\n fee: parseInt(fee),\n nonce\n })\n\n return tx\n}\n\nasync function channelSnapshotSoloTx ({ channelId, fromId, payload }) {\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.channelSnapshotSolo, { senderId: fromId, ...arguments[0], payload }\n )\n\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n const { tx } = this.nativeMode\n ? buildTx({\n ...arguments[0],\n channelId,\n fromId,\n payload,\n ttl,\n fee,\n nonce\n }, TX_TYPE.channelSnapshotSolo)\n : await this.api.postChannelSnapshotSolo({\n ...arguments[0],\n channelId,\n fromId,\n payload,\n ttl,\n fee: parseInt(fee),\n nonce\n })\n\n return tx\n}\n\nasync function gaAttachTx ({\n ownerId, code, vmVersion, abiVersion, authFun, gas, gasPrice = MIN_GAS_PRICE, callData\n}) {\n // Get VM_ABI version\n const ctVersion = this.getVmVersion(TX_TYPE.contractCreate, arguments[0])\n // Calculate fee, get absolute ttl (ttl + height), get account nonce\n const { fee, ttl, nonce } = await this.prepareTxParams(\n TX_TYPE.gaAttach, { senderId: ownerId, ...arguments[0], ctVersion, gasPrice }\n )\n // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side\n return {\n tx: TxObject({\n params: { ...arguments[0], nonce, ttl, fee, ctVersion, gasPrice },\n type: TX_TYPE.gaAttach\n }).encodedTx,\n contractId: buildContractId(ownerId, nonce)\n }\n}\n\nasync function payingForTx ({ tx, payerId, ...args }) {\n const params = { tx: unpackTx(tx), payerId }\n const { fee, nonce } = await this.prepareTxParams(TX_TYPE.payingFor, {\n ...params, ...args, senderId: payerId\n })\n return buildTx({ ...params, ...args, fee, nonce }, TX_TYPE.payingFor).tx\n}\n\n/**\n * Validated vm/abi version or get default based on transaction type and NODE version\n *\n * @param {string} txType Type of transaction\n * @param {object} vmAbi Object with vm and abi version fields\n * @return {object} Object with vm/abi version ({ vmVersion: number, abiVersion: number })\n */\nfunction getVmVersion (txType, { vmVersion, abiVersion } = {}) {\n const { consensusProtocolVersion } = this.getNodeInfo()\n const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion]\n if (!supportedProtocol) throw new UnsupportedProtocolError('Not supported consensus protocol version')\n const protocolForTX = supportedProtocol[txType]\n if (!protocolForTX) throw new UnknownTxError('Not supported tx type')\n\n abiVersion = abiVersion || protocolForTX.abiVersion[0]\n vmVersion = vmVersion || protocolForTX.vmVersion[0]\n if (!protocolForTX.vmVersion.includes(vmVersion)) {\n throw new UnsupportedVMversionError(`VM VERSION ${vmVersion} do not support by this node. Supported: [${protocolForTX.vmVersion}]`)\n }\n if (!protocolForTX.abiVersion.includes(abiVersion)) {\n throw new UnsupportedABIversionError(`ABI VERSION ${abiVersion} do not support by this node. Supported: [${protocolForTX.abiVersion}]`)\n }\n\n return { vmVersion, abiVersion }\n}\n\n/**\n * Compute the absolute ttl by adding the ttl to the current height of the chain\n *\n * @param {number} ttl\n * @param {boolean} relative ttl is absolute or relative(default: true(relative))\n * @return {number} Absolute Ttl\n */\nasync function calculateTtl (ttl = TX_TTL, relative = true) {\n if (ttl === 0) return 0\n if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl)\n\n if (relative) {\n const { height } = await this.api.getCurrentKeyBlock()\n return +(height) + ttl\n }\n return ttl\n}\n\n/**\n * Get the next nonce to be used for a transaction for an account\n *\n * @param {string} accountId\n * @param {number} nonce\n * @return {number} Next Nonce\n */\nasync function getAccountNonce (accountId, nonce) {\n if (nonce) return nonce\n const { nonce: accountNonce } = await this.api.getAccountByPubkey(accountId)\n .catch(() => ({ nonce: 0 }))\n return accountNonce + 1\n}\n\n/**\n * Calculate fee, get absolute ttl (ttl + height), get account nonce\n *\n * @param {String} txType Type of transaction\n * @param {Object} params Object which contains all tx data\n * @return {Object} { ttl, nonce, fee } Object with account nonce, absolute ttl and transaction fee\n */\nasync function prepareTxParams (\n txType,\n { senderId, nonce: n, ttl: t, fee: f, gas, absoluteTtl, vsn, strategy }\n) {\n n = n || (\n await this.api.getAccountNextNonce(senderId, { strategy }).catch(e => ({ nextNonce: 1 }))\n ).nextNonce\n const ttl = await calculateTtl.call(this, t, !absoluteTtl)\n const fee = calculateFee(\n f,\n txType,\n { showWarning: this.showWarning, gas, params: { ...arguments[1], nonce: n, ttl }, vsn }\n )\n return { fee, ttl, nonce: n }\n}\n\n/**\n * Transaction Stamp\n *\n * This is implementation of [Tx](api/tx.md) relays\n * the creation of transactions to {@link module:@aeternity/aepp-sdk/es/Node}.\n * This stamp provide ability to create native transaction's,\n * or transaction's using Node API.\n * As there is no built-in security between Node and client communication,\n * creating transaction using {@link module:@aeternity/aepp-sdk/es/Node} API\n * must never be used for production but can be very useful to verify other\n * implementations.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/tx\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @param {Boolean} [options.nativeMode=true] options.nativeMode - Use Native build of transaction's\n * @param {String} options.url - Node url\n * @param {String} options.internalUrl - Node internal url\n * @return {Object} Transaction instance\n * @example Transaction({url: 'https://testnet.aeternity.io/'})\n */\nconst Transaction = ChainNode.compose(Tx, {\n init ({ nativeMode = true, showWarning = false }) {\n this.nativeMode = nativeMode\n this.showWarning = showWarning\n },\n props: {\n nativeMode: true,\n showWarning: false\n },\n methods: {\n spendTx,\n namePreclaimTx,\n nameClaimTx,\n nameTransferTx,\n nameUpdateTx,\n nameRevokeTx,\n contractCreateTx,\n contractCallTx,\n prepareTxParams,\n oracleRegisterTx,\n oracleExtendTx,\n oraclePostQueryTx,\n oracleRespondTx,\n channelCloseSoloTx,\n channelSlashTx,\n channelSettleTx,\n channelSnapshotSoloTx,\n gaAttachTx,\n payingForTx,\n getAccountNonce,\n getVmVersion\n }\n})\n\nexport default Transaction\n"],"file":"tx.mjs"}
|