@aeternity/aepp-sdk 11.0.1 → 12.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/LICENSE +1 -1
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +12 -19
- 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/AeSdk.d.ts +37 -0
- package/es/AeSdk.mjs +81 -0
- package/es/AeSdk.mjs.map +1 -0
- package/es/AeSdkAepp.d.ts +69 -0
- package/es/AeSdkAepp.mjs +175 -0
- package/es/AeSdkAepp.mjs.map +1 -0
- package/es/AeSdkBase.d.ts +212 -0
- package/es/AeSdkBase.mjs +310 -0
- package/es/AeSdkBase.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +103 -0
- package/es/AeSdkWallet.mjs +322 -0
- package/es/AeSdkWallet.mjs.map +1 -0
- package/es/Node.d.ts +44 -0
- package/es/Node.mjs +141 -0
- package/es/Node.mjs.map +1 -0
- package/es/account/Base.d.ts +65 -0
- package/es/account/Base.mjs +123 -0
- package/es/account/Base.mjs.map +1 -0
- package/es/account/Memory.d.ts +25 -0
- package/es/account/Memory.mjs +81 -0
- package/es/account/Memory.mjs.map +1 -0
- package/es/account/Rpc.d.ts +27 -0
- package/es/account/Rpc.mjs +79 -0
- package/es/account/Rpc.mjs.map +1 -0
- package/es/aens.d.ts +209 -0
- package/es/aens.mjs +332 -0
- package/es/aens.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
- package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
- package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +90 -46
- package/es/aepp-wallet-communication/schema.mjs +214 -0
- package/es/aepp-wallet-communication/schema.mjs.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs +63 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
- package/es/apis/compiler/compiler.d.ts +92 -0
- package/es/apis/compiler/compiler.mjs +576 -0
- package/es/apis/compiler/compiler.mjs.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -0
- package/es/apis/compiler/index.mjs +3 -0
- package/es/apis/compiler/index.mjs.map +1 -0
- package/es/apis/compiler/models/index.d.ts +248 -0
- package/es/apis/compiler/models/index.mjs +48 -0
- package/es/apis/compiler/models/index.mjs.map +1 -0
- package/es/apis/compiler/models/mappers.d.ts +23 -0
- package/es/apis/compiler/models/mappers.mjs +585 -0
- package/es/apis/compiler/models/mappers.mjs.map +1 -0
- package/es/apis/compiler/models/parameters.d.ts +13 -0
- package/es/apis/compiler/models/parameters.mjs +71 -0
- package/es/apis/compiler/models/parameters.mjs.map +1 -0
- package/es/apis/node/index.d.ts +2 -0
- package/es/apis/node/index.mjs +3 -0
- package/es/apis/node/index.mjs.map +1 -0
- package/es/apis/node/models/index.d.ts +1061 -0
- package/es/apis/node/models/index.mjs +2 -0
- package/es/apis/node/models/index.mjs.map +1 -0
- package/es/apis/node/models/mappers.d.ts +95 -0
- package/es/apis/node/models/mappers.mjs +4164 -0
- package/es/apis/node/models/mappers.mjs.map +1 -0
- package/es/apis/node/models/parameters.d.ts +17 -0
- package/es/apis/node/models/parameters.mjs +165 -0
- package/es/apis/node/models/parameters.mjs.map +1 -0
- package/es/apis/node/node.d.ts +215 -0
- package/es/apis/node/node.mjs +1165 -0
- package/es/apis/node/node.mjs.map +1 -0
- package/es/chain.d.ts +220 -0
- package/es/chain.mjs +524 -0
- package/es/chain.mjs.map +1 -0
- package/es/channel/handlers.d.ts +34 -0
- package/es/channel/handlers.mjs +147 -112
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/index.d.ts +634 -0
- package/es/channel/index.mjs +898 -900
- package/es/channel/index.mjs.map +1 -1
- package/es/channel/internal.d.ts +100 -0
- package/es/channel/internal.mjs +97 -51
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Compiler.d.ts +17 -0
- package/es/contract/Compiler.mjs +67 -0
- package/es/contract/Compiler.mjs.map +1 -0
- package/es/contract/aci.d.ts +125 -0
- package/es/contract/aci.mjs +199 -180
- package/es/contract/aci.mjs.map +1 -1
- package/es/contract/ga.d.ts +68 -0
- package/es/contract/ga.mjs +190 -0
- package/es/contract/ga.mjs.map +1 -0
- package/es/contract/methods.d.ts +68 -0
- package/es/contract/methods.mjs +101 -0
- package/es/contract/methods.mjs.map +1 -0
- package/es/index.d.ts +32 -0
- package/es/index.mjs +32 -40
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +154 -0
- package/es/oracle.mjs +288 -0
- package/es/oracle.mjs.map +1 -0
- package/es/spend.d.ts +61 -0
- package/es/spend.mjs +122 -0
- package/es/spend.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +41 -0
- package/es/tx/builder/constants.mjs +11 -19
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types.d.ts +62 -0
- package/es/tx/builder/field-types.mjs +62 -10
- package/es/tx/builder/field-types.mjs.map +1 -1
- package/es/tx/builder/helpers.d.ts +131 -0
- package/es/tx/builder/helpers.mjs +71 -169
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +75 -0
- package/es/tx/builder/index.mjs +141 -323
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +350 -0
- package/es/tx/builder/schema.mjs +173 -510
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +63 -0
- package/es/tx/index.mjs +171 -265
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/min-fee.d.ts +20 -0
- package/es/tx/min-fee.mjs +148 -0
- package/es/tx/min-fee.mjs.map +1 -0
- package/es/tx/validator.d.ts +19 -0
- package/es/tx/validator.mjs +64 -71
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
- package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
- package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
- package/es/typings/bip32-path/index.d.mjs +2 -0
- package/es/typings/bip32-path/index.d.mjs.map +1 -0
- package/es/typings/blakejs/index.d.mjs.map +1 -1
- package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
- package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.d.ts +42 -0
- package/es/utils/amount-formatter.mjs +28 -41
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +6 -0
- package/es/utils/autorest.mjs +97 -0
- package/es/utils/autorest.mjs.map +1 -0
- package/es/utils/bignumber.d.ts +13 -0
- package/es/utils/bignumber.mjs +10 -8
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
- package/es/utils/bytes.mjs +10 -14
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +103 -0
- package/es/utils/crypto.mjs +60 -68
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder.d.ts +26 -0
- package/es/utils/encoder.mjs +47 -51
- package/es/utils/encoder.mjs.map +1 -1
- package/es/{errors.d.ts → utils/errors.d.ts} +254 -57
- package/es/utils/errors.mjs +318 -125
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +34 -0
- package/es/utils/hd-wallet.mjs +27 -16
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.d.ts +5 -0
- package/es/utils/json-big.mjs +10 -14
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.d.ts +51 -0
- package/es/utils/keystore.mjs +98 -193
- package/es/utils/keystore.mjs.map +1 -1
- package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
- package/es/utils/mptree.mjs +13 -14
- package/es/utils/mptree.mjs.map +1 -1
- package/es/utils/other.d.ts +14 -0
- package/es/utils/other.mjs +21 -36
- package/es/utils/other.mjs.map +1 -1
- package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.d.ts +24 -0
- package/es/utils/string.mjs +8 -10
- package/es/utils/string.mjs.map +1 -1
- package/package.json +49 -39
- package/src/AeSdk.ts +65 -0
- package/src/AeSdkAepp.ts +167 -0
- package/src/AeSdkBase.ts +320 -0
- package/src/AeSdkWallet.ts +332 -0
- package/src/Node.ts +167 -0
- package/src/account/Base.ts +114 -0
- package/src/account/Memory.ts +83 -0
- package/src/account/Rpc.ts +67 -0
- package/src/aens.ts +391 -0
- package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
- package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +16 -17
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
- package/src/aepp-wallet-communication/rpc/types.ts +66 -0
- package/src/aepp-wallet-communication/schema.ts +181 -0
- package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
- package/src/apis/compiler/code-model-v4.yaml +2649 -0
- package/src/apis/compiler/compiler.ts +585 -0
- package/src/apis/compiler/index.ts +2 -0
- package/src/apis/compiler/models/index.ts +301 -0
- package/src/apis/compiler/models/mappers.ts +583 -0
- package/src/apis/compiler/models/parameters.ts +93 -0
- package/src/apis/node/code-model-v4.yaml +10046 -0
- package/src/apis/node/index.ts +2 -0
- package/src/apis/node/models/index.ts +1253 -0
- package/src/apis/node/models/mappers.ts +4278 -0
- package/src/apis/node/models/parameters.ts +188 -0
- package/src/apis/node/node.ts +1299 -0
- package/src/chain.ts +444 -0
- package/src/channel/{handlers.js → handlers.ts} +220 -128
- package/src/channel/index.ts +991 -0
- package/src/channel/internal.ts +345 -0
- package/src/contract/Compiler.ts +66 -0
- package/src/contract/aci.ts +529 -0
- package/src/contract/ga.ts +178 -0
- package/src/contract/methods.ts +118 -0
- package/src/index.ts +51 -0
- package/src/oracle.ts +342 -0
- package/src/spend.ts +152 -0
- package/src/tx/builder/{constants.js → constants.ts} +12 -16
- package/src/tx/builder/field-types.ts +111 -0
- package/src/tx/builder/helpers.ts +253 -0
- package/src/tx/builder/index.ts +394 -0
- package/src/tx/builder/schema.ts +771 -0
- package/src/tx/index.ts +199 -0
- package/src/tx/min-fee.ts +136 -0
- package/src/tx/validator.ts +226 -0
- package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
- package/src/typings/@aeternity__uuid/index.d.ts +3 -0
- package/src/typings/bip32-path/index.d.ts +33 -0
- package/src/typings/tweetnacl-auth/index.d.ts +14 -0
- package/src/utils/amount-formatter.ts +29 -42
- package/src/utils/autorest.ts +90 -0
- package/src/utils/bignumber.ts +9 -11
- package/src/utils/bytes.ts +12 -14
- package/src/utils/crypto.ts +217 -0
- package/src/utils/encoder.ts +52 -55
- package/src/utils/errors.ts +268 -134
- package/src/utils/hd-wallet.ts +134 -0
- package/src/utils/json-big.ts +26 -0
- package/src/utils/keystore.ts +179 -0
- package/src/utils/mptree.ts +14 -14
- package/src/utils/other.ts +28 -43
- package/src/utils/string.ts +8 -10
- package/es/account/base.mjs +0 -179
- package/es/account/base.mjs.map +0 -1
- package/es/account/memory.mjs +0 -99
- package/es/account/memory.mjs.map +0 -1
- package/es/account/multiple.mjs +0 -179
- package/es/account/multiple.mjs.map +0 -1
- package/es/ae/aens.mjs +0 -404
- package/es/ae/aens.mjs.map +0 -1
- package/es/ae/aepp.mjs +0 -45
- package/es/ae/aepp.mjs.map +0 -1
- package/es/ae/contract.mjs +0 -159
- package/es/ae/contract.mjs.map +0 -1
- package/es/ae/index.mjs +0 -207
- package/es/ae/index.mjs.map +0 -1
- package/es/ae/oracle.mjs +0 -339
- package/es/ae/oracle.mjs.map +0 -1
- package/es/ae/universal.mjs +0 -45
- package/es/ae/universal.mjs.map +0 -1
- package/es/ae/wallet.mjs +0 -50
- package/es/ae/wallet.mjs.map +0 -1
- package/es/amount-formatter.d.ts +0 -58
- package/es/bignumber.d.ts +0 -18
- package/es/chain/index.mjs +0 -272
- package/es/chain/index.mjs.map +0 -1
- package/es/chain/node.mjs +0 -442
- package/es/chain/node.mjs.map +0 -1
- package/es/contract/compiler.mjs +0 -115
- package/es/contract/compiler.mjs.map +0 -1
- package/es/contract/ga/helpers.mjs +0 -30
- package/es/contract/ga/helpers.mjs.map +0 -1
- package/es/contract/ga/index.mjs +0 -178
- package/es/contract/ga/index.mjs.map +0 -1
- package/es/crypto-ts.d.ts +0 -9
- package/es/encoder.d.ts +0 -26
- package/es/node-pool/index.mjs +0 -188
- package/es/node-pool/index.mjs.map +0 -1
- package/es/node.mjs +0 -133
- package/es/node.mjs.map +0 -1
- package/es/other.d.ts +0 -31
- package/es/string.d.ts +0 -26
- package/es/tx/tx-object.mjs +0 -283
- package/es/tx/tx-object.mjs.map +0 -1
- package/es/tx/tx.mjs +0 -938
- package/es/tx/tx.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
- package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
- package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
- package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
- package/es/utils/async-init.mjs +0 -64
- package/es/utils/async-init.mjs.map +0 -1
- package/es/utils/crypto-ts.mjs.map +0 -1
- package/es/utils/swagger.mjs +0 -164
- package/es/utils/swagger.mjs.map +0 -1
- package/src/account/base.js +0 -153
- package/src/account/memory.js +0 -83
- package/src/account/multiple.js +0 -162
- package/src/ae/aens.js +0 -361
- package/src/ae/aepp.js +0 -45
- package/src/ae/contract.js +0 -148
- package/src/ae/index.js +0 -168
- package/src/ae/oracle.js +0 -311
- package/src/ae/universal.js +0 -47
- package/src/ae/wallet.js +0 -50
- package/src/chain/index.js +0 -269
- package/src/chain/node.js +0 -320
- package/src/channel/index.js +0 -903
- package/src/channel/internal.js +0 -236
- package/src/contract/aci.js +0 -376
- package/src/contract/compiler.js +0 -100
- package/src/contract/ga/helpers.js +0 -19
- package/src/contract/ga/index.js +0 -150
- package/src/index.js +0 -89
- package/src/node-pool/index.js +0 -172
- package/src/node.js +0 -116
- package/src/tx/builder/field-types.js +0 -61
- package/src/tx/builder/helpers.js +0 -334
- package/src/tx/builder/index.js +0 -465
- package/src/tx/builder/schema.js +0 -1100
- package/src/tx/index.js +0 -301
- package/src/tx/tx-object.js +0 -187
- package/src/tx/tx.js +0 -631
- package/src/tx/validator.js +0 -181
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
- package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
- package/src/utils/aepp-wallet-communication/helpers.js +0 -60
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
- package/src/utils/aepp-wallet-communication/schema.ts +0 -80
- package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
- package/src/utils/async-init.js +0 -45
- package/src/utils/crypto.js +0 -219
- package/src/utils/hd-wallet.js +0 -100
- package/src/utils/json-big.js +0 -26
- package/src/utils/keystore.js +0 -219
- package/src/utils/swagger.js +0 -156
package/src/account/memory.js
DELETED
|
@@ -1,83 +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
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Memory Account module
|
|
20
|
-
* @module @aeternity/aepp-sdk/es/account/memory
|
|
21
|
-
* @export MemoryAccount
|
|
22
|
-
* @example import { MemoryAccount } from '@aeternity/aepp-sdk'
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
import AccountBase from './base'
|
|
26
|
-
import { sign, isValidKeypair } from '../utils/crypto'
|
|
27
|
-
import { isHex } from '../utils/string'
|
|
28
|
-
import { decode } from '../tx/builder/helpers'
|
|
29
|
-
import { InvalidKeypairError } from '../utils/errors'
|
|
30
|
-
|
|
31
|
-
const secrets = new WeakMap()
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* In-memory account stamp
|
|
35
|
-
* @function
|
|
36
|
-
* @alias module:@aeternity/aepp-sdk/es/account/memory
|
|
37
|
-
* @rtype Stamp
|
|
38
|
-
* @param {Object} [options={}] - Initializer object
|
|
39
|
-
* @param {Object} options.keypair - Key pair to use
|
|
40
|
-
* @param {String} options.keypair.publicKey - Public key
|
|
41
|
-
* @param {String} options.keypair.secretKey - Private key
|
|
42
|
-
* @return {Account}
|
|
43
|
-
*/
|
|
44
|
-
export default AccountBase.compose({
|
|
45
|
-
init ({ keypair, gaId }) {
|
|
46
|
-
this.isGa = !!gaId
|
|
47
|
-
if (gaId) {
|
|
48
|
-
decode(gaId)
|
|
49
|
-
secrets.set(this, { publicKey: gaId })
|
|
50
|
-
return
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (!keypair || typeof keypair !== 'object') throw new InvalidKeypairError('KeyPair must be an object')
|
|
54
|
-
if (!keypair.secretKey || !keypair.publicKey) {
|
|
55
|
-
throw new InvalidKeypairError('KeyPair must must have "secretKey", "publicKey" properties')
|
|
56
|
-
}
|
|
57
|
-
if (typeof keypair.publicKey !== 'string' || keypair.publicKey.indexOf('ak_') === -1) {
|
|
58
|
-
throw new InvalidKeypairError('Public Key must be a base58c string with "ak_" prefix')
|
|
59
|
-
}
|
|
60
|
-
if (
|
|
61
|
-
!Buffer.isBuffer(keypair.secretKey) &&
|
|
62
|
-
(typeof keypair.secretKey === 'string' && !isHex(keypair.secretKey))
|
|
63
|
-
) throw new InvalidKeypairError('Secret key must be hex string or Buffer')
|
|
64
|
-
|
|
65
|
-
const pubBuffer = Buffer.from(decode(keypair.publicKey, 'ak'))
|
|
66
|
-
if (!isValidKeypair(Buffer.from(keypair.secretKey, 'hex'), pubBuffer)) throw new InvalidKeypairError('Invalid Key Pair')
|
|
67
|
-
|
|
68
|
-
secrets.set(this, {
|
|
69
|
-
secretKey: Buffer.isBuffer(keypair.secretKey) ? keypair.secretKey : Buffer.from(keypair.secretKey, 'hex'),
|
|
70
|
-
publicKey: keypair.publicKey
|
|
71
|
-
})
|
|
72
|
-
},
|
|
73
|
-
props: { isGa: false },
|
|
74
|
-
methods: {
|
|
75
|
-
sign (data) {
|
|
76
|
-
if (this.isGa) throw new InvalidKeypairError('You are trying to sign data using generalized account without keypair')
|
|
77
|
-
return Promise.resolve(sign(data, secrets.get(this).secretKey))
|
|
78
|
-
},
|
|
79
|
-
address () {
|
|
80
|
-
return Promise.resolve(secrets.get(this).publicKey)
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
})
|
package/src/account/multiple.js
DELETED
|
@@ -1,162 +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
|
-
|
|
18
|
-
/**
|
|
19
|
-
* AccountMultiple module
|
|
20
|
-
* @module @aeternity/aepp-sdk/es/accounts/multiple
|
|
21
|
-
* @export AccountMultiple
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
import AsyncInit from '../utils/async-init'
|
|
25
|
-
import MemoryAccount from './memory'
|
|
26
|
-
import { decode } from '../tx/builder/helpers'
|
|
27
|
-
import AccountBase, { isAccountBase } from './base'
|
|
28
|
-
import {
|
|
29
|
-
UnavailableAccountError,
|
|
30
|
-
TypeError
|
|
31
|
-
} from '../utils/errors'
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* AccountMultiple stamp
|
|
35
|
-
*
|
|
36
|
-
* The purpose of this stamp is to wrap up implementations of
|
|
37
|
-
* {@link module:@aeternity/aepp-sdk/es/account/base--AccountBase} objects and provide a
|
|
38
|
-
* common interface to all of them. List are a substantial part of
|
|
39
|
-
* {@link module:@aeternity/aepp-sdk/es/ae/wallet--Wallet}s.
|
|
40
|
-
* @function
|
|
41
|
-
* @alias module:@aeternity/aepp-sdk/es/accounts/multiple
|
|
42
|
-
* @rtype Stamp
|
|
43
|
-
* @param {Object} [options={}] - Initializer object
|
|
44
|
-
* @param {Array} [options.accounts] - Accounts array
|
|
45
|
-
* @param {String} [options.address] - Address of account to select
|
|
46
|
-
* @return {Object} AccountMultiple instance
|
|
47
|
-
* @example
|
|
48
|
-
* const accounts = await AccountMultiple({
|
|
49
|
-
* accounts: [MemoryAccount({ keypair: 'keypair_object' })]
|
|
50
|
-
* })
|
|
51
|
-
* await accounts.addAccount(account, { select: true }) // Add account and make it selected
|
|
52
|
-
* accounts.removeAccount(address) // Remove account
|
|
53
|
-
* accounts.selectAccount(address) // Select account
|
|
54
|
-
* accounts.addresses() // Get available accounts
|
|
55
|
-
*/
|
|
56
|
-
export default AccountBase.compose(AsyncInit, {
|
|
57
|
-
async init ({ accounts = [], address }) {
|
|
58
|
-
this.accounts = Object.fromEntries(await Promise.all(
|
|
59
|
-
accounts.map(async a => [await a.address(), a])
|
|
60
|
-
))
|
|
61
|
-
address = address || Object.keys(this.accounts)[0]
|
|
62
|
-
if (address) this.selectAccount(address)
|
|
63
|
-
},
|
|
64
|
-
props: {
|
|
65
|
-
accounts: {}
|
|
66
|
-
},
|
|
67
|
-
deepProps: {
|
|
68
|
-
selectedAddress: null
|
|
69
|
-
},
|
|
70
|
-
methods: {
|
|
71
|
-
async address ({ onAccount = this.selectedAddress } = {}) {
|
|
72
|
-
return this._resolveAccount(onAccount).address()
|
|
73
|
-
},
|
|
74
|
-
async sign (data, { onAccount = this.selectedAddress } = {}) {
|
|
75
|
-
return this._resolveAccount(onAccount).sign(data)
|
|
76
|
-
},
|
|
77
|
-
/**
|
|
78
|
-
* Get accounts addresses
|
|
79
|
-
* @alias module:@aeternity/aepp-sdk/es/accounts/multiple
|
|
80
|
-
* @function
|
|
81
|
-
* @rtype () => String[]
|
|
82
|
-
* @return {String[]}
|
|
83
|
-
* @example addresses()
|
|
84
|
-
*/
|
|
85
|
-
addresses () {
|
|
86
|
-
return Object.keys(this.accounts)
|
|
87
|
-
},
|
|
88
|
-
/**
|
|
89
|
-
* Add specific account
|
|
90
|
-
* @alias module:@aeternity/aepp-sdk/es/accounts/multiple
|
|
91
|
-
* @function
|
|
92
|
-
* @category async
|
|
93
|
-
* @rtype (account: Account, { select: Boolean }) => void
|
|
94
|
-
* @param {Object} account - Account instance
|
|
95
|
-
* @param {Object} [options={}] - Options
|
|
96
|
-
* @param {Boolean} [options.select] - Select account
|
|
97
|
-
* @return {void}
|
|
98
|
-
* @example addAccount(account)
|
|
99
|
-
*/
|
|
100
|
-
async addAccount (account, { select } = {}) {
|
|
101
|
-
const address = await account.address()
|
|
102
|
-
this.accounts[address] = account
|
|
103
|
-
if (select) this.selectAccount(address)
|
|
104
|
-
},
|
|
105
|
-
/**
|
|
106
|
-
* Remove specific account
|
|
107
|
-
* @alias module:@aeternity/aepp-sdk/es/accounts/multiple
|
|
108
|
-
* @function
|
|
109
|
-
* @rtype (address: String) => void
|
|
110
|
-
* @param {String} address - Address of account to remove
|
|
111
|
-
* @return {void}
|
|
112
|
-
* @example removeAccount(address)
|
|
113
|
-
*/
|
|
114
|
-
removeAccount (address) {
|
|
115
|
-
if (!this.accounts[address]) {
|
|
116
|
-
console.warn(`removeAccount: Account for ${address} not available`)
|
|
117
|
-
return
|
|
118
|
-
}
|
|
119
|
-
delete this.accounts[address]
|
|
120
|
-
if (this.selectedAddress === address) this.selectedAddress = null
|
|
121
|
-
},
|
|
122
|
-
/**
|
|
123
|
-
* Select specific account
|
|
124
|
-
* @alias module:@aeternity/aepp-sdk/es/account/selector
|
|
125
|
-
* @instance
|
|
126
|
-
* @rtype (address: String) => void
|
|
127
|
-
* @param {String} address - Address of account to select
|
|
128
|
-
* @example selectAccount('ak_xxxxxxxx')
|
|
129
|
-
*/
|
|
130
|
-
selectAccount (address) {
|
|
131
|
-
decode(address, 'ak')
|
|
132
|
-
if (!this.accounts[address]) throw new UnavailableAccountError(address)
|
|
133
|
-
this.selectedAddress = address
|
|
134
|
-
},
|
|
135
|
-
/**
|
|
136
|
-
* Resolves an account
|
|
137
|
-
* @param account account address (should exist in sdk instance), MemoryAccount or keypair
|
|
138
|
-
* @returns {AccountBase}
|
|
139
|
-
* @private
|
|
140
|
-
*/
|
|
141
|
-
_resolveAccount (account) {
|
|
142
|
-
if (account === null) {
|
|
143
|
-
throw new TypeError(
|
|
144
|
-
'Account should be an address (ak-prefixed string), ' +
|
|
145
|
-
'keypair, or instance of account base, got null instead')
|
|
146
|
-
} else {
|
|
147
|
-
switch (typeof account) {
|
|
148
|
-
case 'string':
|
|
149
|
-
decode(account, 'ak')
|
|
150
|
-
if (!this.accounts[account]) throw new UnavailableAccountError(account)
|
|
151
|
-
return this.accounts[account]
|
|
152
|
-
case 'object':
|
|
153
|
-
return isAccountBase(account) ? account : MemoryAccount({ keypair: account })
|
|
154
|
-
default:
|
|
155
|
-
throw new TypeError(
|
|
156
|
-
'Account should be an address (ak-prefixed string), ' +
|
|
157
|
-
`keypair, or instance of account base, got ${account} instead`)
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
})
|
package/src/ae/aens.js
DELETED
|
@@ -1,361 +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
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Aens module - routines to interact with the æternity naming system
|
|
20
|
-
*
|
|
21
|
-
* The high-level description of the naming system is
|
|
22
|
-
* https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol
|
|
23
|
-
* repository.
|
|
24
|
-
* @module @aeternity/aepp-sdk/es/ae/aens
|
|
25
|
-
* @export Aens
|
|
26
|
-
* @example import { Aens } from '@aeternity/aepp-sdk'
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
import { salt } from '../utils/crypto'
|
|
30
|
-
import { commitmentHash, ensureNameValid, isAuctionName } from '../tx/builder/helpers'
|
|
31
|
-
import Ae from './'
|
|
32
|
-
import { CLIENT_TTL, NAME_TTL } from '../tx/builder/schema'
|
|
33
|
-
import { ArgumentError } from '../utils/errors'
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Revoke a name
|
|
37
|
-
* @instance
|
|
38
|
-
* @function
|
|
39
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/aens
|
|
40
|
-
* @category async
|
|
41
|
-
* @param {String} name Name hash
|
|
42
|
-
* @param {Object} [options={}] options
|
|
43
|
-
* @param {String|Object} [options.onAccount] Make operation on specific account from sdk (you pass
|
|
44
|
-
* publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
|
|
45
|
-
* @param {Number|String|BigNumber} [options.fee] fee
|
|
46
|
-
* @param {Number|String|BigNumber} [options.ttl] ttl
|
|
47
|
-
* @param {Number|String|BigNumber} [options.nonce] nonce
|
|
48
|
-
* @return {Promise<Object>} Transaction result
|
|
49
|
-
* @example
|
|
50
|
-
* const name = 'test.chain'
|
|
51
|
-
* const nameObject = await sdkInstance.aensQuery(name)
|
|
52
|
-
*
|
|
53
|
-
* await sdkInstance.aensRevoke(name, { fee, ttl , nonce })
|
|
54
|
-
* // or
|
|
55
|
-
* await nameObject.revoke({ fee, ttl, nonce })
|
|
56
|
-
*/
|
|
57
|
-
async function revoke (name, options = {}) {
|
|
58
|
-
ensureNameValid(name)
|
|
59
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
60
|
-
|
|
61
|
-
const nameRevokeTx = await this.nameRevokeTx({
|
|
62
|
-
...opt,
|
|
63
|
-
nameId: name,
|
|
64
|
-
accountId: await this.address(opt)
|
|
65
|
-
})
|
|
66
|
-
|
|
67
|
-
return this.send(nameRevokeTx, opt)
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Update a name
|
|
72
|
-
* @instance
|
|
73
|
-
* @function
|
|
74
|
-
* @category async
|
|
75
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/aens
|
|
76
|
-
* @param {String} name AENS name
|
|
77
|
-
* @param {Object.<string, string>} pointers Map of pointer keys to corresponding addresses
|
|
78
|
-
* @param {Object} [options={}]
|
|
79
|
-
* @param {Boolean} [options.extendPointers] Get the pointers from the node and merge with provided
|
|
80
|
-
* ones. Pointers with the same type will be overwritten
|
|
81
|
-
* @param {String|Object} [options.onAccount] Make operation on specific account from sdk (you
|
|
82
|
-
* pass publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
|
|
83
|
-
* @param {Number|String|BigNumber} [options.fee] fee
|
|
84
|
-
* @param {Number|String|BigNumber} [options.ttl] ttl
|
|
85
|
-
* @param {Number|String|BigNumber} [options.nonce] nonce
|
|
86
|
-
* @param {Number|String|BigNumber} [options.nameTtl=50000] Name ttl represented in number of
|
|
87
|
-
* blocks (Max value is 50000 blocks)
|
|
88
|
-
* @param {Number|String|BigNumber} [options.clientTtl=84600] a suggestion as to how long any
|
|
89
|
-
* clients should cache this information
|
|
90
|
-
* @return {Promise<Object>}
|
|
91
|
-
* @throws Invalid pointer array error
|
|
92
|
-
* @example
|
|
93
|
-
* const name = 'test.chain'
|
|
94
|
-
* const pointersArray = ['ak_asd23dasdas...,' 'ct_asdf34fasdasd...']
|
|
95
|
-
* const nameObject = await sdkInstance.aensQuery(name)
|
|
96
|
-
*
|
|
97
|
-
* await sdkInstance.aensUpdate(name, pointersArray, { nameTtl, ttl, fee, nonce, clientTtl })
|
|
98
|
-
* // or
|
|
99
|
-
* await nameObject.update(pointers, { nameTtl, ttl, fee, nonce, clientTtl })
|
|
100
|
-
*/
|
|
101
|
-
async function update (name, pointers = {}, options = {}) {
|
|
102
|
-
ensureNameValid(name)
|
|
103
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
104
|
-
const allPointers = {
|
|
105
|
-
...options.extendPointers && Object.fromEntries(
|
|
106
|
-
(await this.getName(name)).pointers.map(({ key, id }) => [key, id])
|
|
107
|
-
),
|
|
108
|
-
...pointers
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const nameUpdateTx = await this.nameUpdateTx({
|
|
112
|
-
...opt,
|
|
113
|
-
nameId: name,
|
|
114
|
-
accountId: await this.address(opt),
|
|
115
|
-
pointers: Object.entries(allPointers).map(([key, id]) => ({ key, id }))
|
|
116
|
-
})
|
|
117
|
-
|
|
118
|
-
return this.send(nameUpdateTx, opt)
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Transfer a domain to another account
|
|
123
|
-
* @instance
|
|
124
|
-
* @function
|
|
125
|
-
* @category async
|
|
126
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/aens
|
|
127
|
-
* @param {String} name AENS name
|
|
128
|
-
* @param {String} account Recipient account publick key
|
|
129
|
-
* @param {Object} [options={}]
|
|
130
|
-
* @param {String|Object} [options.onAccount] Make operation on specific account from sdk (you pass
|
|
131
|
-
* publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
|
|
132
|
-
* @param {Number|String|BigNumber} [options.fee] fee
|
|
133
|
-
* @param {Number|String|BigNumber} [options.ttl] ttl
|
|
134
|
-
* @param {Number|String|BigNumber} [options.nonce] nonce
|
|
135
|
-
* @return {Promise<Object>} Transaction result
|
|
136
|
-
* @example
|
|
137
|
-
* const name = 'test.chain'
|
|
138
|
-
* const recipientPub = 'ak_asd23dasdas...'
|
|
139
|
-
* const nameObject = await sdkInstance.aensQuery(name)
|
|
140
|
-
*
|
|
141
|
-
* await sdkInstance.aensTransfer(name, recipientPub, { ttl, fee, nonce })
|
|
142
|
-
* // or
|
|
143
|
-
* await nameObject.transfer(recipientPub, { ttl, fee, nonce })
|
|
144
|
-
*/
|
|
145
|
-
async function transfer (name, account, options = {}) {
|
|
146
|
-
ensureNameValid(name)
|
|
147
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
148
|
-
|
|
149
|
-
const nameTransferTx = await this.nameTransferTx({
|
|
150
|
-
...opt,
|
|
151
|
-
nameId: name,
|
|
152
|
-
accountId: await this.address(opt),
|
|
153
|
-
recipientId: account
|
|
154
|
-
})
|
|
155
|
-
|
|
156
|
-
return this.send(nameTransferTx, opt)
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Query the AENS name info from the node
|
|
161
|
-
* and return the object with info and predefined functions for manipulating name
|
|
162
|
-
* @instance
|
|
163
|
-
* @function
|
|
164
|
-
* @category async
|
|
165
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/aens
|
|
166
|
-
* @param {String} name
|
|
167
|
-
* @param {Object} opt Options
|
|
168
|
-
* @return {Promise<Object>}
|
|
169
|
-
* @example
|
|
170
|
-
* const nameObject = sdkInstance.aensQuery('test.chain')
|
|
171
|
-
* console.log(nameObject)
|
|
172
|
-
* {
|
|
173
|
-
* id, // name hash
|
|
174
|
-
* pointers, // array of pointers
|
|
175
|
-
* update, // Update name function
|
|
176
|
-
* extendTtl, // Extend Ttl name function
|
|
177
|
-
* transfer, // Transfer name function
|
|
178
|
-
* revoke // Revoke name function
|
|
179
|
-
* }
|
|
180
|
-
*/
|
|
181
|
-
async function query (name, opt = {}) {
|
|
182
|
-
ensureNameValid(name)
|
|
183
|
-
const o = await this.getName(name)
|
|
184
|
-
|
|
185
|
-
return Object.freeze(Object.assign(o, {
|
|
186
|
-
pointers: o.pointers || [],
|
|
187
|
-
update: async (pointers, options = {}) => {
|
|
188
|
-
return {
|
|
189
|
-
...(await this.aensUpdate(name, pointers, { ...opt, ...options })),
|
|
190
|
-
...(await this.aensQuery(name))
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
transfer: async (account, options = {}) => {
|
|
194
|
-
return {
|
|
195
|
-
...(await this.aensTransfer(name, account, { ...opt, ...options })),
|
|
196
|
-
...(await this.aensQuery(name))
|
|
197
|
-
}
|
|
198
|
-
},
|
|
199
|
-
revoke: async (options = {}) => this.aensRevoke(name, { ...opt, ...options }),
|
|
200
|
-
extendTtl: async (nameTtl = NAME_TTL, options = {}) => {
|
|
201
|
-
if (typeof nameTtl !== 'number' || nameTtl > NAME_TTL || nameTtl <= 0) {
|
|
202
|
-
throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, nameTtl)
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
return {
|
|
206
|
-
...await this.aensUpdate(name, {}, { ...opt, ...options, nameTtl, extendPointers: true }),
|
|
207
|
-
...await this.aensQuery(name)
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}))
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Claim a previously preclaimed registration. This can only be done after the
|
|
215
|
-
* preclaim step
|
|
216
|
-
* @instance
|
|
217
|
-
* @function
|
|
218
|
-
* @category async
|
|
219
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/aens
|
|
220
|
-
* @param {String} name
|
|
221
|
-
* @param {Number} salt Salt from pre-claim, or 0 if it's a bid
|
|
222
|
-
* @param {Object} [options] options
|
|
223
|
-
* @param {String|Object} [options.onAccount] Make operation on specific account from sdk (you pass
|
|
224
|
-
* publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
|
|
225
|
-
* @param {Number|String|BigNumber} [options.fee] fee
|
|
226
|
-
* @param {Number|String|BigNumber} [options.ttl] ttl
|
|
227
|
-
* @param {Number|String|BigNumber} [options.nonce] nonce
|
|
228
|
-
* @param {Number|String} [options.nameFee] Name Fee (By default calculated by sdk)
|
|
229
|
-
* @return {Promise<Object>} the result of the claim
|
|
230
|
-
* @example
|
|
231
|
-
* const name = 'test.chain'
|
|
232
|
-
* const salt = preclaimResult.salt // salt from pre-claim transaction
|
|
233
|
-
*
|
|
234
|
-
* await sdkInstance.aensClaim(name, salt, { ttl, fee, nonce, nameFee })
|
|
235
|
-
*/
|
|
236
|
-
async function claim (name, salt, options) {
|
|
237
|
-
ensureNameValid(name)
|
|
238
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
239
|
-
|
|
240
|
-
const claimTx = await this.nameClaimTx({
|
|
241
|
-
...opt,
|
|
242
|
-
accountId: await this.address(opt),
|
|
243
|
-
nameSalt: salt,
|
|
244
|
-
name
|
|
245
|
-
})
|
|
246
|
-
|
|
247
|
-
const result = await this.send(claimTx, opt)
|
|
248
|
-
if (!isAuctionName(name)) {
|
|
249
|
-
const nameInter = opt.waitMined ? await this.aensQuery(name, opt) : {}
|
|
250
|
-
return Object.assign(result, nameInter)
|
|
251
|
-
}
|
|
252
|
-
return { ...result, nameFee: opt.nameFee }
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* Preclaim a name. Sends a hash of the name and a random salt to the node
|
|
257
|
-
* @instance
|
|
258
|
-
* @function
|
|
259
|
-
* @category async
|
|
260
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/aens
|
|
261
|
-
* @param {String} name
|
|
262
|
-
* @param {Object} [options={}]
|
|
263
|
-
* @param {String|Object} [options.onAccount] Make operation on specific account from sdk (you pass
|
|
264
|
-
* publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
|
|
265
|
-
* @param {Number|String|BigNumber} [options.fee] fee
|
|
266
|
-
* @param {Number|String|BigNumber} [options.ttl] ttl
|
|
267
|
-
* @param {Number|String|BigNumber} [options.nonce] nonce
|
|
268
|
-
* @return {Promise<Object>}
|
|
269
|
-
* @example
|
|
270
|
-
* const name = 'test.chain'
|
|
271
|
-
* const salt = preclaimResult.salt // salt from pre-claim transaction
|
|
272
|
-
*
|
|
273
|
-
* await sdkInstance.aensPreclaim(name, { ttl, fee, nonce })
|
|
274
|
-
* {
|
|
275
|
-
* ...transactionResult,
|
|
276
|
-
* claim, // Claim function (options={}) => claimTransactionResult
|
|
277
|
-
* salt,
|
|
278
|
-
* commitmentId
|
|
279
|
-
* }
|
|
280
|
-
*/
|
|
281
|
-
async function preclaim (name, options = {}) {
|
|
282
|
-
ensureNameValid(name)
|
|
283
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
284
|
-
const _salt = salt()
|
|
285
|
-
const height = await this.height()
|
|
286
|
-
const commitmentId = commitmentHash(name, _salt)
|
|
287
|
-
|
|
288
|
-
const preclaimTx = await this.namePreclaimTx({
|
|
289
|
-
...opt,
|
|
290
|
-
accountId: await this.address(opt),
|
|
291
|
-
commitmentId
|
|
292
|
-
})
|
|
293
|
-
|
|
294
|
-
const result = await this.send(preclaimTx, opt)
|
|
295
|
-
|
|
296
|
-
return Object.freeze({
|
|
297
|
-
...result,
|
|
298
|
-
height,
|
|
299
|
-
claim: options => this.aensClaim(name, _salt, { ...options, onAccount: opt.onAccount }),
|
|
300
|
-
salt: _salt,
|
|
301
|
-
commitmentId
|
|
302
|
-
})
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* Bid to name auction
|
|
307
|
-
* @instance
|
|
308
|
-
* @function
|
|
309
|
-
* @category async
|
|
310
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/aens
|
|
311
|
-
* @param {String} name Domain name
|
|
312
|
-
* @param {String|Number} nameFee Name fee (bid fee)
|
|
313
|
-
* @param {Object} [options={}]
|
|
314
|
-
* @param {String|Object} [options.onAccount] Make operation on specific account from sdk (you pass
|
|
315
|
-
* publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
|
|
316
|
-
* @param {Number|String|BigNumber} [options.fee] fee
|
|
317
|
-
* @param {Number|String|BigNumber} [options.ttl] ttl
|
|
318
|
-
* @param {Number|String|BigNumber} [options.nonce] nonce
|
|
319
|
-
* @return {Promise<Object>} Transaction result
|
|
320
|
-
* @example
|
|
321
|
-
* const name = 'test.chain'
|
|
322
|
-
* const bidFee = computeBidFee(name, startFee, incrementPercentage)
|
|
323
|
-
*
|
|
324
|
-
* await sdkInstance.aensBid(name, 213109412839123, { ttl, fee, nonce })
|
|
325
|
-
*/
|
|
326
|
-
async function bid (name, nameFee, options = {}) {
|
|
327
|
-
return this.aensClaim(name, 0, { ...options, nameFee, vsn: 2 })
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* Aens Stamp
|
|
332
|
-
*
|
|
333
|
-
* Aens provides name-system related methods atop
|
|
334
|
-
* {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.
|
|
335
|
-
* @function
|
|
336
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/aens
|
|
337
|
-
* @rtype Stamp
|
|
338
|
-
* @param {Object} [options={}] - Initializer object
|
|
339
|
-
* @return {Object} Aens instance
|
|
340
|
-
*/
|
|
341
|
-
const Aens = Ae.compose({
|
|
342
|
-
methods: {
|
|
343
|
-
aensQuery: query,
|
|
344
|
-
aensPreclaim: preclaim,
|
|
345
|
-
aensClaim: claim,
|
|
346
|
-
aensUpdate: update,
|
|
347
|
-
aensTransfer: transfer,
|
|
348
|
-
aensRevoke: revoke,
|
|
349
|
-
aensBid: bid
|
|
350
|
-
},
|
|
351
|
-
deepProps: {
|
|
352
|
-
Ae: {
|
|
353
|
-
defaults: {
|
|
354
|
-
clientTtl: CLIENT_TTL,
|
|
355
|
-
nameTtl: NAME_TTL // aec_governance:name_claim_max_expiration() => 50000
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
})
|
|
360
|
-
|
|
361
|
-
export default Aens
|
package/src/ae/aepp.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2021 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
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Aepp module
|
|
20
|
-
* @module @aeternity/aepp-sdk/es/ae/aepp
|
|
21
|
-
* @export Aepp
|
|
22
|
-
* @example import { RpcAepp } from '@aeternity/aepp-sdk'
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
import Ae from './'
|
|
26
|
-
import Aens from './aens'
|
|
27
|
-
import Contract from './contract'
|
|
28
|
-
import AeppRpc from '../utils/aepp-wallet-communication/rpc/aepp-rpc'
|
|
29
|
-
import Chain from '../chain/node'
|
|
30
|
-
import Tx from '../tx/tx'
|
|
31
|
-
import Oracle from './oracle'
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Aepp Stamp
|
|
35
|
-
*
|
|
36
|
-
* Aepp provides base functionality.
|
|
37
|
-
* Expected to use this stamp with a Wallet.
|
|
38
|
-
* {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.
|
|
39
|
-
* @function
|
|
40
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/aepp
|
|
41
|
-
* @rtype Stamp
|
|
42
|
-
* @param {Object} [options={}] - Initializer object
|
|
43
|
-
* @return {Object} Aepp instance
|
|
44
|
-
*/
|
|
45
|
-
export default Ae.compose(Tx, Oracle, Contract, Aens, Chain, AeppRpc)
|