@aeternity/aepp-sdk 12.0.0 → 12.1.2
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/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -15
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +2 -1
- package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +20765 -1
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +7 -7
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.d.ts +4 -3
- package/es/AeSdkAepp.mjs +2 -1
- package/es/AeSdkAepp.mjs.map +1 -1
- package/es/AeSdkBase.d.ts +22 -21
- package/es/AeSdkBase.mjs +25 -21
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkWallet.d.ts +4 -3
- package/es/AeSdkWallet.mjs +5 -1
- package/es/AeSdkWallet.mjs.map +1 -1
- package/es/Node.d.ts +7 -10
- package/es/Node.mjs +63 -57
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +7 -4
- package/es/account/Base.mjs +3 -3
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Memory.d.ts +5 -4
- package/es/account/Memory.mjs +24 -2
- package/es/account/Memory.mjs.map +1 -1
- package/es/account/Rpc.d.ts +6 -6
- package/es/account/Rpc.mjs +3 -2
- package/es/account/Rpc.mjs.map +1 -1
- package/es/aens.d.ts +27 -14
- package/es/aens.mjs +27 -21
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/Browser.d.ts +2 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +5 -2
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +5 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection-proxy.d.ts +1 -0
- package/es/aepp-wallet-communication/connection-proxy.mjs +1 -0
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -5
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/types.d.ts +8 -8
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
- package/es/aepp-wallet-communication/schema.d.ts +17 -2
- package/es/aepp-wallet-communication/schema.mjs +54 -17
- package/es/aepp-wallet-communication/schema.mjs.map +1 -1
- package/es/aepp-wallet-communication/wallet-detector.d.ts +2 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +2 -3
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
- package/es/apis/node/models/index.d.ts +6 -2
- package/es/apis/node/models/index.mjs.map +1 -1
- package/es/apis/node/models/mappers.mjs +4 -2
- package/es/apis/node/models/mappers.mjs.map +1 -1
- package/es/chain.d.ts +92 -64
- package/es/chain.mjs +190 -154
- package/es/chain.mjs.map +1 -1
- package/es/channel/handlers.d.ts +3 -3
- package/es/channel/handlers.mjs +42 -44
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/index.d.ts +43 -52
- package/es/channel/index.mjs +46 -49
- package/es/channel/index.mjs.map +1 -1
- package/es/channel/internal.d.ts +16 -15
- package/es/channel/internal.mjs +67 -62
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Compiler.d.ts +1 -0
- package/es/contract/Compiler.mjs +5 -4
- package/es/contract/Compiler.mjs.map +1 -1
- package/es/contract/aci.d.ts +17 -15
- package/es/contract/aci.mjs +58 -45
- package/es/contract/aci.mjs.map +1 -1
- package/es/contract/ga.d.ts +16 -15
- package/es/contract/ga.mjs +12 -7
- package/es/contract/ga.mjs.map +1 -1
- package/es/contract/methods.d.ts +9 -6
- package/es/contract/methods.mjs +9 -6
- package/es/contract/methods.mjs.map +1 -1
- package/es/deprecated/index.d.ts +143 -0
- package/es/deprecated/index.mjs +162 -0
- package/es/deprecated/index.mjs.map +1 -0
- package/es/deprecated/methods.d.ts +18 -0
- package/es/deprecated/methods.mjs +26 -0
- package/es/deprecated/methods.mjs.map +1 -0
- package/es/index.d.ts +4 -1
- package/es/index.mjs +4 -1
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +69 -62
- package/es/oracle.mjs +121 -103
- package/es/oracle.mjs.map +1 -1
- package/es/spend.d.ts +16 -15
- package/es/spend.mjs +19 -30
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/address.d.ts +25 -0
- package/es/tx/builder/address.mjs +45 -0
- package/es/tx/builder/address.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +55 -26
- package/es/tx/builder/constants.mjs +60 -38
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
- package/es/tx/builder/field-types/coin-amount.mjs +26 -0
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
- package/es/tx/builder/field-types/deposit.d.ts +15 -0
- package/es/tx/builder/field-types/deposit.mjs +19 -0
- package/es/tx/builder/field-types/deposit.mjs.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +25 -0
- package/es/tx/{min-fee.mjs → builder/field-types/fee.mjs} +62 -60
- package/es/tx/builder/field-types/fee.mjs.map +1 -0
- package/es/tx/builder/field-types/field.d.ts +6 -0
- package/es/tx/builder/field-types/field.mjs +15 -0
- package/es/tx/builder/field-types/field.mjs.map +1 -0
- package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
- package/es/tx/builder/field-types/gas-limit.mjs +33 -0
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
- package/es/tx/builder/field-types/gas-price.d.ts +8 -0
- package/es/tx/builder/field-types/gas-price.mjs +18 -0
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
- package/es/tx/builder/field-types/index.d.ts +70 -0
- package/es/tx/builder/field-types/index.mjs +25 -0
- package/es/tx/builder/field-types/index.mjs.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +20 -0
- package/es/tx/builder/field-types/name-fee.mjs +24 -0
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
- package/es/tx/builder/field-types/name-id.d.ts +14 -0
- package/es/tx/builder/field-types/name-id.mjs +19 -0
- package/es/tx/builder/field-types/name-id.mjs.map +1 -0
- package/es/tx/builder/field-types/name.d.ts +13 -0
- package/es/tx/builder/field-types/name.mjs +18 -0
- package/es/tx/builder/field-types/name.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/es/tx/builder/field-types/short-u-int.mjs +12 -0
- package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +8 -0
- package/es/tx/builder/field-types/u-int.mjs +14 -0
- package/es/tx/builder/field-types/u-int.mjs.map +1 -0
- package/es/tx/builder/helpers.d.ts +27 -33
- package/es/tx/builder/helpers.mjs +41 -47
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +25 -12
- package/es/tx/builder/index.mjs +74 -83
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +995 -144
- package/es/tx/builder/schema.mjs +121 -170
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +28 -27
- package/es/tx/index.mjs +97 -117
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +4 -3
- package/es/tx/validator.mjs +79 -92
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -1
- package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -1
- package/es/typings/bip32-path/index.d.mjs.map +1 -1
- package/es/typings/blakejs/index.d.mjs.map +1 -1
- package/es/typings/sha-js/index.d.mjs +2 -0
- package/es/typings/sha-js/index.d.mjs.map +1 -0
- package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -1
- package/es/utils/amount-formatter.d.ts +9 -9
- package/es/utils/amount-formatter.mjs +17 -17
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.mjs +7 -7
- package/es/utils/autorest.mjs.map +1 -1
- package/es/utils/bignumber.mjs +2 -1
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/utils/bytes.mjs +1 -1
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +8 -23
- package/es/utils/crypto.mjs +15 -41
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder-types.d.ts +61 -0
- package/es/utils/encoder-types.mjs +36 -0
- package/es/utils/encoder-types.mjs.map +1 -0
- package/es/utils/encoder.d.ts +6 -7
- package/es/utils/encoder.mjs +42 -26
- package/es/utils/encoder.mjs.map +1 -1
- package/es/utils/errors.d.ts +1 -11
- package/es/utils/errors.mjs +4 -20
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +18 -2
- package/es/utils/hd-wallet.mjs +64 -34
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.mjs +2 -2
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.mjs +4 -2
- package/es/utils/keystore.mjs.map +1 -1
- package/es/utils/mptree.d.ts +2 -2
- package/es/utils/mptree.mjs +11 -6
- package/es/utils/mptree.mjs.map +1 -1
- package/es/utils/other.d.ts +8 -2
- package/es/utils/other.mjs +15 -3
- package/es/utils/other.mjs.map +1 -1
- package/es/utils/semver-satisfies.d.ts +1 -1
- package/es/utils/semver-satisfies.mjs +2 -2
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.mjs.map +1 -1
- package/package.json +36 -34
- package/src/AeSdk.ts +30 -27
- package/src/AeSdkAepp.ts +93 -84
- package/src/AeSdkBase.ts +148 -130
- package/src/AeSdkWallet.ts +172 -156
- package/src/Node.ts +108 -102
- package/src/account/Base.ts +42 -32
- package/src/account/Memory.ts +45 -30
- package/src/account/Rpc.ts +32 -30
- package/src/aens.ts +124 -108
- package/src/aepp-wallet-communication/connection/Browser.ts +18 -15
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +22 -21
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +63 -52
- package/src/aepp-wallet-communication/connection-proxy.ts +8 -7
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +67 -61
- package/src/aepp-wallet-communication/rpc/types.ts +32 -32
- package/src/aepp-wallet-communication/schema.ts +117 -74
- package/src/aepp-wallet-communication/wallet-detector.ts +29 -28
- package/src/apis/node/code-model-v4.yaml +54 -20
- package/src/apis/node/models/index.ts +6 -2
- package/src/apis/node/models/mappers.ts +4 -2
- package/src/chain.ts +286 -228
- package/src/channel/handlers.ts +424 -372
- package/src/channel/index.ts +285 -251
- package/src/channel/internal.ts +248 -232
- package/src/contract/Compiler.ts +22 -21
- package/src/contract/aci.ts +267 -258
- package/src/contract/ga.ts +93 -72
- package/src/contract/methods.ts +32 -27
- package/src/deprecated/index.ts +172 -0
- package/src/deprecated/methods.ts +25 -0
- package/src/index.ts +37 -32
- package/src/oracle.ts +211 -189
- package/src/spend.ts +82 -70
- package/src/tx/builder/address.ts +50 -0
- package/src/tx/builder/constants.ts +82 -52
- package/src/tx/builder/field-types/coin-amount.ts +27 -0
- package/src/tx/builder/field-types/deposit.ts +21 -0
- package/src/tx/builder/field-types/fee.ts +143 -0
- package/src/tx/builder/field-types/field.ts +9 -0
- package/src/tx/builder/field-types/gas-limit.ts +41 -0
- package/src/tx/builder/field-types/gas-price.ts +16 -0
- package/src/tx/builder/field-types/index.ts +45 -0
- package/src/tx/builder/field-types/name-fee.ts +32 -0
- package/src/tx/builder/field-types/name-id.ts +20 -0
- package/src/tx/builder/field-types/name.ts +18 -0
- package/src/tx/builder/field-types/short-u-int.ts +11 -0
- package/src/tx/builder/field-types/u-int.ts +16 -0
- package/src/tx/builder/helpers.ts +112 -117
- package/src/tx/builder/index.ts +203 -197
- package/src/tx/builder/schema.ts +421 -465
- package/src/tx/index.ts +128 -135
- package/src/tx/validator.ts +165 -161
- package/src/typings/@aeternity__argon2-browser/index.d.ts +1 -1
- package/src/typings/@aeternity__uuid/index.d.ts +3 -1
- package/src/typings/bip32-path/index.d.ts +6 -6
- package/src/typings/blakejs/index.d.ts +4 -32
- package/src/typings/sha-js/index.d.ts +5 -0
- package/src/typings/tweetnacl-auth/index.d.ts +2 -2
- package/src/utils/amount-formatter.ts +41 -41
- package/src/utils/autorest.ts +57 -54
- package/src/utils/bignumber.ts +7 -6
- package/src/utils/bytes.ts +19 -19
- package/src/utils/crypto.ts +82 -94
- package/src/utils/encoder-types.ts +63 -0
- package/src/utils/encoder.ts +104 -56
- package/src/utils/errors.ts +246 -264
- package/src/utils/hd-wallet.ts +114 -82
- package/src/utils/json-big.ts +16 -15
- package/src/utils/keystore.ts +65 -62
- package/src/utils/mptree.ts +59 -56
- package/src/utils/other.ts +26 -18
- package/src/utils/semver-satisfies.ts +15 -11
- package/src/utils/string.ts +10 -10
- package/es/tx/builder/field-types.d.ts +0 -62
- package/es/tx/builder/field-types.mjs +0 -126
- package/es/tx/builder/field-types.mjs.map +0 -1
- package/es/tx/min-fee.d.ts +0 -20
- package/es/tx/min-fee.mjs.map +0 -1
- package/src/tx/builder/field-types.ts +0 -111
- package/src/tx/min-fee.ts +0 -136
package/es/account/Rpc.mjs
CHANGED
|
@@ -23,9 +23,10 @@ export default class AccountRpc extends AccountBase {
|
|
|
23
23
|
super(options);
|
|
24
24
|
this._rpcClient = rpcClient;
|
|
25
25
|
this._address = address;
|
|
26
|
-
}
|
|
26
|
+
} // eslint-disable-next-line class-methods-use-this
|
|
27
|
+
|
|
27
28
|
|
|
28
|
-
async sign(
|
|
29
|
+
async sign() {
|
|
29
30
|
throw new NotImplementedError('RAW signing using wallet');
|
|
30
31
|
}
|
|
31
32
|
|
package/es/account/Rpc.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rpc.mjs","names":["AccountBase","METHODS","NotImplementedError","AccountRpc","constructor","rpcClient","address","options","_rpcClient","_address","sign","
|
|
1
|
+
{"version":3,"file":"Rpc.mjs","names":["AccountBase","METHODS","NotImplementedError","AccountRpc","constructor","rpcClient","address","options","_rpcClient","_address","sign","signTransaction","tx","innerTx","networkId","res","request","onAccount","returnSigned","signedTransaction","signMessage","message","returnHex","signature","from"],"sources":["../../src/account/Rpc.ts"],"sourcesContent":["import AccountBase from './Base';\nimport { METHODS } from '../aepp-wallet-communication/schema';\nimport { NotImplementedError } from '../utils/errors';\nimport { Encoded } from '../utils/encoder';\n\n/**\n * Account provided by wallet\n * @param params - Params\n * @param params.rpcClient - RpcClient instance\n * @param params.address - RPC account address\n * @returns AccountRpc instance\n */\nexport default class AccountRpc extends AccountBase {\n _rpcClient: any;\n\n _address: Encoded.AccountAddress;\n\n constructor(\n { rpcClient, address, ...options }: { rpcClient: any; address: Encoded.AccountAddress }\n & ConstructorParameters<typeof AccountBase>[0],\n ) {\n super(options);\n this._rpcClient = rpcClient;\n this._address = address;\n }\n\n // eslint-disable-next-line class-methods-use-this\n async sign(): Promise<Uint8Array> {\n throw new NotImplementedError('RAW signing using wallet');\n }\n\n async address(): Promise<Encoded.AccountAddress> {\n return this._address;\n }\n\n /**\n * @returns Signed transaction\n */\n async signTransaction(\n tx: Encoded.Transaction,\n { innerTx, networkId }: Parameters<AccountBase['signTransaction']>[1] = {},\n ): Promise<Encoded.Transaction> {\n if (innerTx != null) throw new NotImplementedError('innerTx option in AccountRpc');\n const res = await this._rpcClient.request(METHODS.sign, {\n onAccount: this._address,\n tx,\n returnSigned: true,\n /**\n * @deprecated Wallet provided networkId will be used (current network)\n * required to maintain backward compatibility with wallets using SDK v11.0.1 and below\n * @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}\n */\n networkId,\n });\n return res.signedTransaction;\n }\n\n /**\n * @returns Signed message\n */\n async signMessage(\n message: string,\n { returnHex = false }: Parameters<AccountBase['signMessage']>[1] = {},\n ): Promise<string | Uint8Array> {\n const { signature } = await this._rpcClient\n .request(METHODS.signMessage, { onAccount: this._address, message });\n return returnHex ? signature : Buffer.from(signature, 'hex');\n }\n}\n"],"mappings":";;;;OAAOA,W;SACEC,O;SACAC,mB;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMC,UAAN,SAAyBH,WAAzB,CAAqC;EAKlDI,WAAW,OAGT;IAAA,IAFA;MAAEC,SAAF;MAAaC,OAAb;MAAsB,GAAGC;IAAzB,CAEA;IACA,MAAMA,OAAN;IACA,KAAKC,UAAL,GAAkBH,SAAlB;IACA,KAAKI,QAAL,GAAgBH,OAAhB;EACD,CAZiD,CAclD;;;EACU,MAAJI,IAAI,GAAwB;IAChC,MAAM,IAAIR,mBAAJ,CAAwB,0BAAxB,CAAN;EACD;;EAEY,MAAPI,OAAO,GAAoC;IAC/C,OAAO,KAAKG,QAAZ;EACD;EAED;AACF;AACA;;;EACuB,MAAfE,eAAe,CACnBC,EADmB,EAGW;IAAA,IAD9B;MAAEC,OAAF;MAAWC;IAAX,CAC8B,uEAD0C,EAC1C;IAC9B,IAAID,OAAO,IAAI,IAAf,EAAqB,MAAM,IAAIX,mBAAJ,CAAwB,8BAAxB,CAAN;IACrB,MAAMa,GAAG,GAAG,MAAM,KAAKP,UAAL,CAAgBQ,OAAhB,CAAwBf,OAAO,CAACS,IAAhC,EAAsC;MACtDO,SAAS,EAAE,KAAKR,QADsC;MAEtDG,EAFsD;MAGtDM,YAAY,EAAE,IAHwC;;MAItD;AACN;AACA;AACA;AACA;MACMJ;IATsD,CAAtC,CAAlB;IAWA,OAAOC,GAAG,CAACI,iBAAX;EACD;EAED;AACF;AACA;;;EACmB,MAAXC,WAAW,CACfC,OADe,EAGe;IAAA,IAD9B;MAAEC,SAAS,GAAG;IAAd,CAC8B,uEADqC,EACrC;IAC9B,MAAM;MAAEC;IAAF,IAAgB,MAAM,KAAKf,UAAL,CACzBQ,OADyB,CACjBf,OAAO,CAACmB,WADS,EACI;MAAEH,SAAS,EAAE,KAAKR,QAAlB;MAA4BY;IAA5B,CADJ,CAA5B;IAEA,OAAOC,SAAS,GAAGC,SAAH,GAAe,QAAOC,IAAP,CAAYD,SAAZ,EAAuB,KAAvB,CAA/B;EACD;;AAvDiD"}
|
package/es/aens.d.ts
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Aens methods - routines to interact with the æternity naming system
|
|
4
|
+
*
|
|
5
|
+
* The high-level description of the naming system is
|
|
6
|
+
* https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol
|
|
7
|
+
* repository.
|
|
8
|
+
*/
|
|
5
9
|
import BigNumber from 'bignumber.js';
|
|
10
|
+
import { Tag, AensName } from './tx/builder/constants';
|
|
11
|
+
import { Encoded } from './utils/encoder';
|
|
6
12
|
import { send, SendOptions } from './spend';
|
|
7
13
|
import { getName } from './chain';
|
|
8
14
|
import { BuildTxOptions } from './tx';
|
|
9
15
|
import { TransformNodeType } from './Node';
|
|
10
|
-
import { NameEntry } from './apis/node';
|
|
16
|
+
import { NameEntry, NamePointer } from './apis/node';
|
|
11
17
|
import AccountBase from './account/Base';
|
|
12
18
|
interface KeyPointers {
|
|
13
19
|
[key: string]: string | Buffer;
|
|
14
20
|
}
|
|
15
21
|
/**
|
|
16
22
|
* Revoke a name
|
|
23
|
+
* @category AENS
|
|
17
24
|
* @param name - Name hash
|
|
18
25
|
* @param options - Options
|
|
19
26
|
* @param options.onAccount - Make operation on specific account from sdk (you pass
|
|
@@ -33,10 +40,11 @@ interface KeyPointers {
|
|
|
33
40
|
* ```
|
|
34
41
|
*/
|
|
35
42
|
export declare function aensRevoke(name: AensName, options: AensRevokeOptions): ReturnType<typeof send>;
|
|
36
|
-
interface AensRevokeOptions extends BuildTxOptions<
|
|
43
|
+
interface AensRevokeOptions extends BuildTxOptions<Tag.NameRevokeTx, 'nameId' | 'accountId'>, SendOptions {
|
|
37
44
|
}
|
|
38
45
|
/**
|
|
39
46
|
* Update a name
|
|
47
|
+
* @category AENS
|
|
40
48
|
* @param name - AENS name
|
|
41
49
|
* @param pointers - Map of pointer keys to corresponding addresses
|
|
42
50
|
* @param options - Options
|
|
@@ -64,13 +72,14 @@ interface AensRevokeOptions extends BuildTxOptions<TX_TYPE.nameRevoke, 'nameId'
|
|
|
64
72
|
* ```
|
|
65
73
|
*/
|
|
66
74
|
export declare function aensUpdate(name: AensName, pointers: KeyPointers, { extendPointers, ...options }: AensUpdateOptions): ReturnType<typeof send>;
|
|
67
|
-
interface AensUpdateOptions extends BuildTxOptions<
|
|
75
|
+
interface AensUpdateOptions extends BuildTxOptions<Tag.NameUpdateTx, 'nameId' | 'accountId' | 'pointers' | 'clientTtl' | 'nameTtl'>, SendOptions {
|
|
68
76
|
extendPointers?: boolean;
|
|
69
77
|
clientTtl?: number;
|
|
70
78
|
nameTtl?: number;
|
|
71
79
|
}
|
|
72
80
|
/**
|
|
73
81
|
* Transfer a domain to another account
|
|
82
|
+
* @category AENS
|
|
74
83
|
* @param name - AENS name
|
|
75
84
|
* @param account - Recipient account publick key
|
|
76
85
|
* @param options - Options
|
|
@@ -91,12 +100,13 @@ interface AensUpdateOptions extends BuildTxOptions<TX_TYPE.nameUpdate, 'nameId'
|
|
|
91
100
|
* await nameObject.transfer(recipientPub, { ttl, fee, nonce })
|
|
92
101
|
* ```
|
|
93
102
|
*/
|
|
94
|
-
export declare function aensTransfer(name: AensName, account:
|
|
95
|
-
interface AensTransferOptions extends BuildTxOptions<
|
|
103
|
+
export declare function aensTransfer(name: AensName, account: Encoded.AccountAddress, options: AensTransferOptions): ReturnType<typeof send>;
|
|
104
|
+
interface AensTransferOptions extends BuildTxOptions<Tag.NameTransferTx, 'nameId' | 'accountId' | 'recipientId'>, SendOptions {
|
|
96
105
|
}
|
|
97
106
|
/**
|
|
98
107
|
* Query the AENS name info from the node
|
|
99
108
|
* and return the object with info and predefined functions for manipulating name
|
|
109
|
+
* @category AENS
|
|
100
110
|
* @param name - AENS name
|
|
101
111
|
* @param opt - Options
|
|
102
112
|
* @returns
|
|
@@ -115,14 +125,14 @@ interface AensTransferOptions extends BuildTxOptions<TX_TYPE.nameTransfer, 'name
|
|
|
115
125
|
* ```
|
|
116
126
|
*/
|
|
117
127
|
export declare function aensQuery(name: AensName, opt: Parameters<typeof getName>[1] & Parameters<typeof aensUpdate>[2] & Parameters<typeof aensTransfer>[2]): Promise<Readonly<TransformNodeType<NameEntry> & {
|
|
118
|
-
id:
|
|
119
|
-
owner:
|
|
120
|
-
pointers: KeyPointers |
|
|
128
|
+
id: Encoded.Name;
|
|
129
|
+
owner: Encoded.AccountAddress;
|
|
130
|
+
pointers: KeyPointers | NamePointer[];
|
|
121
131
|
ttl: number;
|
|
122
132
|
update: (pointers: KeyPointers, options?: Omit<Parameters<typeof aensQuery>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {
|
|
123
133
|
onAccount?: AccountBase;
|
|
124
134
|
}) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;
|
|
125
|
-
transfer: (account:
|
|
135
|
+
transfer: (account: Encoded.AccountAddress, options?: Parameters<typeof aensQuery>[1]) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;
|
|
126
136
|
revoke: (options?: Omit<Parameters<typeof aensRevoke>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {
|
|
127
137
|
onAccount?: AccountBase;
|
|
128
138
|
}) => ReturnType<typeof aensRevoke>;
|
|
@@ -131,6 +141,7 @@ export declare function aensQuery(name: AensName, opt: Parameters<typeof getName
|
|
|
131
141
|
/**
|
|
132
142
|
* Claim a previously preclaimed registration. This can only be done after the
|
|
133
143
|
* preclaim step
|
|
144
|
+
* @category AENS
|
|
134
145
|
* @param name - AENS name
|
|
135
146
|
* @param salt - Salt from pre-claim, or 0 if it's a bid
|
|
136
147
|
* @param options - options
|
|
@@ -150,13 +161,14 @@ export declare function aensQuery(name: AensName, opt: Parameters<typeof getName
|
|
|
150
161
|
* ```
|
|
151
162
|
*/
|
|
152
163
|
export declare function aensClaim(name: AensName, salt: number, options: AensClaimOptions): Promise<AensClaimReturnType>;
|
|
153
|
-
declare type AensClaimOptionsType = BuildTxOptions<
|
|
164
|
+
declare type AensClaimOptionsType = BuildTxOptions<Tag.NameClaimTx, 'accountId' | 'nameSalt' | 'name'> & SendOptions & Parameters<typeof aensQuery>[1];
|
|
154
165
|
interface AensClaimOptions extends AensClaimOptionsType {
|
|
155
166
|
}
|
|
156
167
|
interface AensClaimReturnType extends Awaited<ReturnType<typeof send>>, Partial<Awaited<ReturnType<typeof aensQuery>>> {
|
|
157
168
|
}
|
|
158
169
|
/**
|
|
159
170
|
* Preclaim a name. Sends a hash of the name and a random salt to the node
|
|
171
|
+
* @category AENS
|
|
160
172
|
* @param name - AENS name
|
|
161
173
|
* @param options - Options
|
|
162
174
|
* @param options.onAccount - Make operation on specific account from sdk (you pass
|
|
@@ -184,10 +196,11 @@ export declare function aensPreclaim(name: AensName, options: AensPreclaimOption
|
|
|
184
196
|
commitmentId: string;
|
|
185
197
|
claim: (opts?: Parameters<typeof aensClaim>[2]) => ReturnType<typeof aensClaim>;
|
|
186
198
|
}>>;
|
|
187
|
-
interface AensPreclaimOptions extends BuildTxOptions<
|
|
199
|
+
interface AensPreclaimOptions extends BuildTxOptions<Tag.NamePreclaimTx, 'accountId' | 'commitmentId'>, SendOptions, AensClaimOptions {
|
|
188
200
|
}
|
|
189
201
|
/**
|
|
190
202
|
* Bid to name auction
|
|
203
|
+
* @category AENS
|
|
191
204
|
* @param name - Domain name
|
|
192
205
|
* @param nameFee - Name fee (bid fee)
|
|
193
206
|
* @param options - Options
|
package/es/aens.mjs
CHANGED
|
@@ -22,16 +22,17 @@
|
|
|
22
22
|
* https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol
|
|
23
23
|
* repository.
|
|
24
24
|
*/
|
|
25
|
-
import {
|
|
25
|
+
import { genSalt } from "./utils/crypto.mjs";
|
|
26
26
|
import { commitmentHash, isAuctionName } from "./tx/builder/helpers.mjs";
|
|
27
|
-
import { CLIENT_TTL, NAME_TTL,
|
|
27
|
+
import { CLIENT_TTL, NAME_TTL, Tag } from "./tx/builder/constants.mjs";
|
|
28
28
|
import { ArgumentError } from "./utils/errors.mjs";
|
|
29
29
|
import { send } from "./spend.mjs";
|
|
30
|
-
import { getName,
|
|
30
|
+
import { getName, getHeight } from "./chain.mjs";
|
|
31
31
|
import { _buildTx } from "./tx/index.mjs";
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Revoke a name
|
|
35
|
+
* @category AENS
|
|
35
36
|
* @param name - Name hash
|
|
36
37
|
* @param options - Options
|
|
37
38
|
* @param options.onAccount - Make operation on specific account from sdk (you pass
|
|
@@ -51,15 +52,16 @@ import { _buildTx } from "./tx/index.mjs";
|
|
|
51
52
|
* ```
|
|
52
53
|
*/
|
|
53
54
|
export async function aensRevoke(name, options) {
|
|
54
|
-
const nameRevokeTx = await _buildTx(
|
|
55
|
+
const nameRevokeTx = await _buildTx(Tag.NameRevokeTx, { ...options,
|
|
55
56
|
nameId: name,
|
|
56
57
|
accountId: await options.onAccount.address(options)
|
|
57
58
|
});
|
|
58
|
-
return
|
|
59
|
+
return send(nameRevokeTx, options);
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
/**
|
|
62
63
|
* Update a name
|
|
64
|
+
* @category AENS
|
|
63
65
|
* @param name - AENS name
|
|
64
66
|
* @param pointers - Map of pointer keys to corresponding addresses
|
|
65
67
|
* @param options - Options
|
|
@@ -100,7 +102,7 @@ export async function aensUpdate(name, pointers, _ref) {
|
|
|
100
102
|
}))),
|
|
101
103
|
...pointers
|
|
102
104
|
};
|
|
103
|
-
const nameUpdateTx = await _buildTx(
|
|
105
|
+
const nameUpdateTx = await _buildTx(Tag.NameUpdateTx, {
|
|
104
106
|
clientTtl: CLIENT_TTL,
|
|
105
107
|
nameTtl: NAME_TTL,
|
|
106
108
|
...options,
|
|
@@ -114,11 +116,12 @@ export async function aensUpdate(name, pointers, _ref) {
|
|
|
114
116
|
};
|
|
115
117
|
})
|
|
116
118
|
});
|
|
117
|
-
return
|
|
119
|
+
return send(nameUpdateTx, options);
|
|
118
120
|
}
|
|
119
121
|
|
|
120
122
|
/**
|
|
121
123
|
* Transfer a domain to another account
|
|
124
|
+
* @category AENS
|
|
122
125
|
* @param name - AENS name
|
|
123
126
|
* @param account - Recipient account publick key
|
|
124
127
|
* @param options - Options
|
|
@@ -140,17 +143,18 @@ export async function aensUpdate(name, pointers, _ref) {
|
|
|
140
143
|
* ```
|
|
141
144
|
*/
|
|
142
145
|
export async function aensTransfer(name, account, options) {
|
|
143
|
-
const nameTransferTx = await _buildTx(
|
|
146
|
+
const nameTransferTx = await _buildTx(Tag.NameTransferTx, { ...options,
|
|
144
147
|
nameId: name,
|
|
145
148
|
accountId: await options.onAccount.address(options),
|
|
146
149
|
recipientId: account
|
|
147
150
|
});
|
|
148
|
-
return
|
|
151
|
+
return send(nameTransferTx, options);
|
|
149
152
|
}
|
|
150
153
|
|
|
151
154
|
/**
|
|
152
155
|
* Query the AENS name info from the node
|
|
153
156
|
* and return the object with info and predefined functions for manipulating name
|
|
157
|
+
* @category AENS
|
|
154
158
|
* @param name - AENS name
|
|
155
159
|
* @param opt - Options
|
|
156
160
|
* @returns
|
|
@@ -195,14 +199,14 @@ export async function aensQuery(name, opt) {
|
|
|
195
199
|
},
|
|
196
200
|
|
|
197
201
|
async revoke(options) {
|
|
198
|
-
return
|
|
202
|
+
return aensRevoke(name, { ...opt,
|
|
199
203
|
...options
|
|
200
204
|
});
|
|
201
205
|
},
|
|
202
206
|
|
|
203
207
|
async extendTtl() {
|
|
204
208
|
let nameTtl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : NAME_TTL;
|
|
205
|
-
let options = arguments.length > 1 ? arguments[1] :
|
|
209
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
206
210
|
|
|
207
211
|
if (nameTtl > NAME_TTL || nameTtl <= 0) {
|
|
208
212
|
throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, nameTtl);
|
|
@@ -224,6 +228,7 @@ export async function aensQuery(name, opt) {
|
|
|
224
228
|
/**
|
|
225
229
|
* Claim a previously preclaimed registration. This can only be done after the
|
|
226
230
|
* preclaim step
|
|
231
|
+
* @category AENS
|
|
227
232
|
* @param name - AENS name
|
|
228
233
|
* @param salt - Salt from pre-claim, or 0 if it's a bid
|
|
229
234
|
* @param options - options
|
|
@@ -244,7 +249,7 @@ export async function aensQuery(name, opt) {
|
|
|
244
249
|
*/
|
|
245
250
|
|
|
246
251
|
export async function aensClaim(name, salt, options) {
|
|
247
|
-
const claimTx = await _buildTx(
|
|
252
|
+
const claimTx = await _buildTx(Tag.NameClaimTx, { ...options,
|
|
248
253
|
accountId: await options.onAccount.address(options),
|
|
249
254
|
nameSalt: salt,
|
|
250
255
|
name
|
|
@@ -261,6 +266,7 @@ export async function aensClaim(name, salt, options) {
|
|
|
261
266
|
|
|
262
267
|
/**
|
|
263
268
|
* Preclaim a name. Sends a hash of the name and a random salt to the node
|
|
269
|
+
* @category AENS
|
|
264
270
|
* @param name - AENS name
|
|
265
271
|
* @param options - Options
|
|
266
272
|
* @param options.onAccount - Make operation on specific account from sdk (you pass
|
|
@@ -283,21 +289,20 @@ export async function aensClaim(name, salt, options) {
|
|
|
283
289
|
* ```
|
|
284
290
|
*/
|
|
285
291
|
export async function aensPreclaim(name, options) {
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
const
|
|
289
|
-
const
|
|
290
|
-
const preclaimTx = await _buildTx(TX_TYPE.namePreClaim, { ...options,
|
|
292
|
+
const salt = genSalt();
|
|
293
|
+
const height = await getHeight(options);
|
|
294
|
+
const commitmentId = commitmentHash(name, salt);
|
|
295
|
+
const preclaimTx = await _buildTx(Tag.NamePreclaimTx, { ...options,
|
|
291
296
|
accountId: await options.onAccount.address(options),
|
|
292
297
|
commitmentId
|
|
293
298
|
});
|
|
294
299
|
return Object.freeze({ ...(await send(preclaimTx, options)),
|
|
295
|
-
height
|
|
296
|
-
salt
|
|
300
|
+
height,
|
|
301
|
+
salt,
|
|
297
302
|
commitmentId,
|
|
298
303
|
|
|
299
304
|
async claim(opts) {
|
|
300
|
-
return
|
|
305
|
+
return aensClaim(name, salt, { ...options,
|
|
301
306
|
...opts
|
|
302
307
|
});
|
|
303
308
|
}
|
|
@@ -307,6 +312,7 @@ export async function aensPreclaim(name, options) {
|
|
|
307
312
|
|
|
308
313
|
/**
|
|
309
314
|
* Bid to name auction
|
|
315
|
+
* @category AENS
|
|
310
316
|
* @param name - Domain name
|
|
311
317
|
* @param nameFee - Name fee (bid fee)
|
|
312
318
|
* @param options - Options
|
|
@@ -325,7 +331,7 @@ export async function aensPreclaim(name, options) {
|
|
|
325
331
|
* ```
|
|
326
332
|
*/
|
|
327
333
|
export async function aensBid(name, nameFee, options) {
|
|
328
|
-
return
|
|
334
|
+
return aensClaim(name, 0, { ...options,
|
|
329
335
|
nameFee
|
|
330
336
|
});
|
|
331
337
|
}
|
package/es/aens.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aens.mjs","names":["salt","commitmentHash","isAuctionName","CLIENT_TTL","NAME_TTL","TX_TYPE","ArgumentError","send","getName","height","_buildTx","aensRevoke","name","options","nameRevokeTx","nameRevoke","nameId","accountId","onAccount","address","aensUpdate","pointers","extendPointers","allPointers","Object","fromEntries","map","key","id","nameUpdateTx","nameUpdate","clientTtl","nameTtl","entries","toString","aensTransfer","account","nameTransferTx","nameTransfer","recipientId","aensQuery","opt","nameEntry","freeze","owner","update","transfer","revoke","extendTtl","aensClaim","claimTx","nameClaim","nameSalt","result","nameInter","blockHeight","assign","aensPreclaim","_salt","currentHeight","commitmentId","preclaimTx","namePreClaim","claim","opts","aensBid","nameFee"],"sources":["../src/aens.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 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 * Aens methods - routines to interact with the æternity naming system\n *\n * The high-level description of the naming system is\n * https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol\n * repository.\n */\n\nimport { salt } from './utils/crypto'\nimport { commitmentHash, isAuctionName, Pointer } from './tx/builder/helpers'\nimport { CLIENT_TTL, NAME_TTL, TX_TYPE, AensName } from './tx/builder/schema'\nimport { ArgumentError } from './utils/errors'\nimport { EncodedData } from './utils/encoder'\nimport BigNumber from 'bignumber.js'\nimport { send, SendOptions } from './spend'\nimport { getName, height } from './chain'\nimport { _buildTx, BuildTxOptions } from './tx'\nimport { TransformNodeType } from './Node'\nimport { NameEntry } from './apis/node'\nimport AccountBase from './account/Base'\n\ninterface KeyPointers {\n [key: string]: string | Buffer\n}\n\n/**\n * Revoke a name\n * @param name - Name hash\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensRevoke(name, { fee, ttl , nonce })\n * // or\n * await nameObject.revoke({ fee, ttl, nonce })\n * ```\n */\nexport async function aensRevoke (\n name: AensName, options: AensRevokeOptions\n): ReturnType<typeof send> {\n const nameRevokeTx = await _buildTx(TX_TYPE.nameRevoke, {\n ...options,\n nameId: name,\n accountId: await options.onAccount.address(options)\n })\n return await send(nameRevokeTx, options)\n}\n\ninterface AensRevokeOptions extends\n BuildTxOptions<TX_TYPE.nameRevoke, 'nameId' | 'accountId'>,\n SendOptions {}\n\n/**\n * Update a name\n * @param name - AENS name\n * @param pointers - Map of pointer keys to corresponding addresses\n * @param options - Options\n * @param options.extendPointers - Get the pointers from the node and merge with provided\n * ones. Pointers with the same type will be overwritten\n * @param options.onAccount - Make operation on specific account from sdk (you\n * pass publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @param options.nameTtl - Name ttl represented in number of\n * blocks (Max value is 50000 blocks)\n * @param options.clientTtl=84600 a suggestion as to how long any\n * clients should cache this information\n * @throws Invalid pointer array error\n * @example\n * ```js\n * const name = 'test.chain'\n * const pointersArray = ['ak_asd23dasdas...,' 'ct_asdf34fasdasd...']\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensUpdate(name, pointersArray, { nameTtl, ttl, fee, nonce, clientTtl })\n * // or\n * await nameObject.update(pointers, { nameTtl, ttl, fee, nonce, clientTtl })\n * ```\n */\nexport async function aensUpdate (\n name: AensName, pointers: KeyPointers, { extendPointers, ...options }: AensUpdateOptions\n): ReturnType<typeof send> {\n const allPointers = {\n ...extendPointers === true && Object.fromEntries(\n (await getName(name, options)).pointers\n .map(({ key, id }: { key: string, id: string }) => [key, id])\n ),\n ...pointers\n }\n\n const nameUpdateTx = await _buildTx(TX_TYPE.nameUpdate, {\n clientTtl: CLIENT_TTL,\n nameTtl: NAME_TTL,\n ...options,\n nameId: name,\n accountId: await options.onAccount.address(options),\n pointers: Object.entries(allPointers).map(([key, id]) => ({ key, id: id.toString() }))\n })\n\n return await send(nameUpdateTx, options)\n}\n\ninterface AensUpdateOptions extends\n BuildTxOptions<TX_TYPE.nameUpdate, 'nameId' | 'accountId' | 'pointers' | 'clientTtl' | 'nameTtl'>,\n SendOptions {\n extendPointers?: boolean\n clientTtl?: number\n nameTtl?: number\n}\n\n/**\n * Transfer a domain to another account\n * @param name - AENS name\n * @param account - Recipient account publick key\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const recipientPub = 'ak_asd23dasdas...'\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensTransfer(name, recipientPub, { ttl, fee, nonce })\n * // or\n * await nameObject.transfer(recipientPub, { ttl, fee, nonce })\n * ```\n */\nexport async function aensTransfer (\n name: AensName, account: EncodedData<'ak'>, options: AensTransferOptions\n): ReturnType<typeof send> {\n const nameTransferTx = await _buildTx(TX_TYPE.nameTransfer, {\n ...options,\n nameId: name,\n accountId: await options.onAccount.address(options),\n recipientId: account\n })\n\n return await send(nameTransferTx, options)\n}\n\ninterface AensTransferOptions extends\n BuildTxOptions<TX_TYPE.nameTransfer, 'nameId' | 'accountId' | 'recipientId'>,\n SendOptions {}\n\n/**\n * Query the AENS name info from the node\n * and return the object with info and predefined functions for manipulating name\n * @param name - AENS name\n * @param opt - Options\n * @returns\n * @example\n * ```js\n * const nameObject = sdkInstance.aensQuery('test.chain')\n * console.log(nameObject)\n * {\n * id, // name hash\n * pointers, // array of pointers\n * update, // Update name function\n * extendTtl, // Extend Ttl name function\n * transfer, // Transfer name function\n * revoke // Revoke name function\n * }\n * ```\n */\nexport async function aensQuery (\n name: AensName,\n opt: Parameters<typeof getName>[1] & Parameters<typeof aensUpdate>[2]\n & Parameters<typeof aensTransfer>[2]\n): Promise<Readonly<\n TransformNodeType<NameEntry> & {\n id: EncodedData<'nm'>\n owner: EncodedData<'ak'>\n pointers: KeyPointers | Pointer[]\n ttl: number\n update: (\n pointers: KeyPointers,\n options?: Omit<Parameters<typeof aensQuery>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {\n onAccount?: AccountBase\n }\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>\n transfer: (\n account: EncodedData<'ak'>,\n options?: Parameters<typeof aensQuery>[1]\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>\n revoke: (options?: Omit<Parameters<typeof aensRevoke>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {\n onAccount?: AccountBase\n }\n ) => ReturnType<typeof aensRevoke>\n extendTtl: (\n nameTtl: number,\n options?: Omit<Parameters<typeof aensQuery>[1], 'onNode' | 'onCompiler' | 'onAccount'>\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>\n }\n >> {\n const nameEntry = await getName(name, opt)\n return Object.freeze({\n ...nameEntry,\n id: nameEntry.id as EncodedData<'nm'>,\n owner: nameEntry.owner as EncodedData<'ak'>,\n async update (pointers, options) {\n return {\n ...await aensUpdate(name, pointers, { ...opt, ...options }),\n ...await aensQuery(name, { ...opt, ...options })\n }\n },\n async transfer (account, options) {\n return {\n ...await aensTransfer(name, account, { ...opt, ...options }),\n ...await aensQuery(name, { ...opt, ...options })\n }\n },\n async revoke (options) {\n return await aensRevoke(name, { ...opt, ...options })\n },\n async extendTtl (nameTtl = NAME_TTL, options) {\n if (nameTtl > NAME_TTL || nameTtl <= 0) {\n throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, nameTtl)\n }\n\n return {\n ...await aensUpdate(name, {}, { ...opt, ...options, nameTtl, extendPointers: true }),\n ...await aensQuery(name, { ...opt, ...options })\n }\n }\n })\n}\n\n/**\n * Claim a previously preclaimed registration. This can only be done after the\n * preclaim step\n * @param name - AENS name\n * @param salt - Salt from pre-claim, or 0 if it's a bid\n * @param options - options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @param options.nameFee - Name Fee (By default calculated by sdk)\n * @returns the result of the claim\n * @example\n * ```js\n * const name = 'test.chain'\n * const salt = preclaimResult.salt // salt from pre-claim transaction\n *\n * await sdkInstance.aensClaim(name, salt, { ttl, fee, nonce, nameFee })\n * ```\n */\nexport async function aensClaim (\n name: AensName, salt: number, options: AensClaimOptions\n): Promise<AensClaimReturnType> {\n const claimTx = await _buildTx(TX_TYPE.nameClaim, {\n ...options,\n accountId: await options.onAccount.address(options),\n nameSalt: salt,\n name\n })\n\n const result = await send(claimTx, options)\n if (!isAuctionName(name)) {\n const nameInter = result.blockHeight != null && result.blockHeight > 0\n ? await aensQuery(name, options)\n : {}\n return Object.assign(result, nameInter)\n }\n return result\n}\n\ntype AensClaimOptionsType = BuildTxOptions<TX_TYPE.nameClaim, 'accountId' | 'nameSalt' | 'name'>\n& SendOptions & Parameters<typeof aensQuery>[1]\ninterface AensClaimOptions extends AensClaimOptionsType {}\ninterface AensClaimReturnType extends\n Awaited<ReturnType<typeof send>>,\n Partial<Awaited<ReturnType<typeof aensQuery>>> {}\n\n/**\n * Preclaim a name. Sends a hash of the name and a random salt to the node\n * @param name - AENS name\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @example\n * ```js\n * const name = 'test.chain'\n * const salt = preclaimResult.salt // salt from pre-claim transaction\n *\n * await sdkInstance.aensPreclaim(name, { ttl, fee, nonce })\n * {\n * ...transactionResult,\n * claim, // Claim function (options={}) => claimTransactionResult\n * salt,\n * commitmentId\n * }\n * ```\n */\nexport async function aensPreclaim (\n name: AensName, options: AensPreclaimOptions\n): Promise<Readonly<\n Awaited<ReturnType<typeof send>> & {\n height: number\n salt: number\n commitmentId: string\n claim: (opts?: Parameters<typeof aensClaim>[2]) => ReturnType<typeof aensClaim>\n }\n >> {\n const _salt = salt()\n const currentHeight = await height(options)\n const commitmentId = commitmentHash(name, _salt)\n\n const preclaimTx = await _buildTx(TX_TYPE.namePreClaim, {\n ...options,\n accountId: await options.onAccount.address(options),\n commitmentId\n })\n\n return Object.freeze({\n ...await send(preclaimTx, options),\n height: currentHeight,\n salt: _salt,\n commitmentId,\n async claim (opts?: Parameters<typeof aensClaim>[2]) {\n return await aensClaim(name, _salt, { ...options, ...opts })\n }\n })\n}\n\ninterface AensPreclaimOptions extends\n BuildTxOptions<TX_TYPE.namePreClaim, 'accountId' | 'commitmentId'>,\n SendOptions,\n AensClaimOptions {}\n\n/**\n * Bid to name auction\n * @param name - Domain name\n * @param nameFee - Name fee (bid fee)\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const bidFee = computeBidFee(name, startFee, incrementPercentage)\n *\n * await sdkInstance.aensBid(name, 213109412839123, { ttl, fee, nonce })\n * ```\n */\nexport async function aensBid (\n name: AensName,\n nameFee: number | string | BigNumber,\n options: Omit<Parameters<typeof aensClaim>[2], 'nameFee'>\n): ReturnType<typeof aensClaim> {\n return await aensClaim(name, 0, { ...options, nameFee })\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;SAESA,I;SACAC,c,EAAgBC,a;SAChBC,U,EAAYC,Q,EAAUC,O;SACtBC,a;SAGAC,I;SACAC,O,EAASC,M;SACTC,Q;;AAST;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,UAAf,CACLC,IADK,EACWC,OADX,EAEoB;EACzB,MAAMC,YAAY,GAAG,MAAMJ,QAAQ,CAACL,OAAO,CAACU,UAAT,EAAqB,EACtD,GAAGF,OADmD;IAEtDG,MAAM,EAAEJ,IAF8C;IAGtDK,SAAS,EAAE,MAAMJ,OAAO,CAACK,SAAR,CAAkBC,OAAlB,CAA0BN,OAA1B;EAHqC,CAArB,CAAnC;EAKA,OAAO,MAAMN,IAAI,CAACO,YAAD,EAAeD,OAAf,CAAjB;AACD;;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeO,UAAf,CACLR,IADK,EACWS,QADX,QAEoB;EAAA,IADc;IAAEC,cAAF;IAAkB,GAAGT;EAArB,CACd;EACzB,MAAMU,WAAW,GAAG,EAClB,IAAGD,cAAc,KAAK,IAAnB,IAA2BE,MAAM,CAACC,WAAP,CAC5B,CAAC,MAAMjB,OAAO,CAACI,IAAD,EAAOC,OAAP,CAAd,EAA+BQ,QAA/B,CACGK,GADH,CACO;MAAA,IAAC;QAAEC,GAAF;QAAOC;MAAP,CAAD;MAAA,OAA8C,CAACD,GAAD,EAAMC,EAAN,CAA9C;IAAA,CADP,CAD4B,CAA9B,CADkB;IAKlB,GAAGP;EALe,CAApB;EAQA,MAAMQ,YAAY,GAAG,MAAMnB,QAAQ,CAACL,OAAO,CAACyB,UAAT,EAAqB;IACtDC,SAAS,EAAE5B,UAD2C;IAEtD6B,OAAO,EAAE5B,QAF6C;IAGtD,GAAGS,OAHmD;IAItDG,MAAM,EAAEJ,IAJ8C;IAKtDK,SAAS,EAAE,MAAMJ,OAAO,CAACK,SAAR,CAAkBC,OAAlB,CAA0BN,OAA1B,CALqC;IAMtDQ,QAAQ,EAAEG,MAAM,CAACS,OAAP,CAAeV,WAAf,EAA4BG,GAA5B,CAAgC;MAAA,IAAC,CAACC,GAAD,EAAMC,EAAN,CAAD;MAAA,OAAgB;QAAED,GAAF;QAAOC,EAAE,EAAEA,EAAE,CAACM,QAAH;MAAX,CAAhB;IAAA,CAAhC;EAN4C,CAArB,CAAnC;EASA,OAAO,MAAM3B,IAAI,CAACsB,YAAD,EAAehB,OAAf,CAAjB;AACD;;AAUD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAesB,YAAf,CACLvB,IADK,EACWwB,OADX,EACuCvB,OADvC,EAEoB;EACzB,MAAMwB,cAAc,GAAG,MAAM3B,QAAQ,CAACL,OAAO,CAACiC,YAAT,EAAuB,EAC1D,GAAGzB,OADuD;IAE1DG,MAAM,EAAEJ,IAFkD;IAG1DK,SAAS,EAAE,MAAMJ,OAAO,CAACK,SAAR,CAAkBC,OAAlB,CAA0BN,OAA1B,CAHyC;IAI1D0B,WAAW,EAAEH;EAJ6C,CAAvB,CAArC;EAOA,OAAO,MAAM7B,IAAI,CAAC8B,cAAD,EAAiBxB,OAAjB,CAAjB;AACD;;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe2B,SAAf,CACL5B,IADK,EAEL6B,GAFK,EA6BF;EACH,MAAMC,SAAS,GAAG,MAAMlC,OAAO,CAACI,IAAD,EAAO6B,GAAP,CAA/B;EACA,OAAOjB,MAAM,CAACmB,MAAP,CAAc,EACnB,GAAGD,SADgB;IAEnBd,EAAE,EAAEc,SAAS,CAACd,EAFK;IAGnBgB,KAAK,EAAEF,SAAS,CAACE,KAHE;;IAInB,MAAMC,MAAN,CAAcxB,QAAd,EAAwBR,OAAxB,EAAiC;MAC/B,OAAO,EACL,IAAG,MAAMO,UAAU,CAACR,IAAD,EAAOS,QAAP,EAAiB,EAAE,GAAGoB,GAAL;UAAU,GAAG5B;QAAb,CAAjB,CAAnB,CADK;QAEL,IAAG,MAAM2B,SAAS,CAAC5B,IAAD,EAAO,EAAE,GAAG6B,GAAL;UAAU,GAAG5B;QAAb,CAAP,CAAlB;MAFK,CAAP;IAID,CATkB;;IAUnB,MAAMiC,QAAN,CAAgBV,OAAhB,EAAyBvB,OAAzB,EAAkC;MAChC,OAAO,EACL,IAAG,MAAMsB,YAAY,CAACvB,IAAD,EAAOwB,OAAP,EAAgB,EAAE,GAAGK,GAAL;UAAU,GAAG5B;QAAb,CAAhB,CAArB,CADK;QAEL,IAAG,MAAM2B,SAAS,CAAC5B,IAAD,EAAO,EAAE,GAAG6B,GAAL;UAAU,GAAG5B;QAAb,CAAP,CAAlB;MAFK,CAAP;IAID,CAfkB;;IAgBnB,MAAMkC,MAAN,CAAclC,OAAd,EAAuB;MACrB,OAAO,MAAMF,UAAU,CAACC,IAAD,EAAO,EAAE,GAAG6B,GAAL;QAAU,GAAG5B;MAAb,CAAP,CAAvB;IACD,CAlBkB;;IAmBnB,MAAMmC,SAAN,GAA8C;MAAA,IAA7BhB,OAA6B,uEAAnB5B,QAAmB;MAAA,IAATS,OAAS;;MAC5C,IAAImB,OAAO,GAAG5B,QAAV,IAAsB4B,OAAO,IAAI,CAArC,EAAwC;QACtC,MAAM,IAAI1B,aAAJ,CAAkB,SAAlB,EAA8B,0BAAyBF,QAAS,SAAhE,EAA0E4B,OAA1E,CAAN;MACD;;MAED,OAAO,EACL,IAAG,MAAMZ,UAAU,CAACR,IAAD,EAAO,EAAP,EAAW,EAAE,GAAG6B,GAAL;UAAU,GAAG5B,OAAb;UAAsBmB,OAAtB;UAA+BV,cAAc,EAAE;QAA/C,CAAX,CAAnB,CADK;QAEL,IAAG,MAAMkB,SAAS,CAAC5B,IAAD,EAAO,EAAE,GAAG6B,GAAL;UAAU,GAAG5B;QAAb,CAAP,CAAlB;MAFK,CAAP;IAID;;EA5BkB,CAAd,CAAP;AA8BD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,eAAeoC,SAAf,CACLrC,IADK,EACWZ,IADX,EACyBa,OADzB,EAEyB;EAC9B,MAAMqC,OAAO,GAAG,MAAMxC,QAAQ,CAACL,OAAO,CAAC8C,SAAT,EAAoB,EAChD,GAAGtC,OAD6C;IAEhDI,SAAS,EAAE,MAAMJ,OAAO,CAACK,SAAR,CAAkBC,OAAlB,CAA0BN,OAA1B,CAF+B;IAGhDuC,QAAQ,EAAEpD,IAHsC;IAIhDY;EAJgD,CAApB,CAA9B;EAOA,MAAMyC,MAAM,GAAG,MAAM9C,IAAI,CAAC2C,OAAD,EAAUrC,OAAV,CAAzB;;EACA,IAAI,CAACX,aAAa,CAACU,IAAD,CAAlB,EAA0B;IACxB,MAAM0C,SAAS,GAAGD,MAAM,CAACE,WAAP,IAAsB,IAAtB,IAA8BF,MAAM,CAACE,WAAP,GAAqB,CAAnD,GACd,MAAMf,SAAS,CAAC5B,IAAD,EAAOC,OAAP,CADD,GAEd,EAFJ;IAGA,OAAOW,MAAM,CAACgC,MAAP,CAAcH,MAAd,EAAsBC,SAAtB,CAAP;EACD;;EACD,OAAOD,MAAP;AACD;;AASD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeI,YAAf,CACL7C,IADK,EACWC,OADX,EASF;EACH,MAAM6C,KAAK,GAAG1D,IAAI,EAAlB;;EACA,MAAM2D,aAAa,GAAG,MAAMlD,MAAM,CAACI,OAAD,CAAlC;EACA,MAAM+C,YAAY,GAAG3D,cAAc,CAACW,IAAD,EAAO8C,KAAP,CAAnC;EAEA,MAAMG,UAAU,GAAG,MAAMnD,QAAQ,CAACL,OAAO,CAACyD,YAAT,EAAuB,EACtD,GAAGjD,OADmD;IAEtDI,SAAS,EAAE,MAAMJ,OAAO,CAACK,SAAR,CAAkBC,OAAlB,CAA0BN,OAA1B,CAFqC;IAGtD+C;EAHsD,CAAvB,CAAjC;EAMA,OAAOpC,MAAM,CAACmB,MAAP,CAAc,EACnB,IAAG,MAAMpC,IAAI,CAACsD,UAAD,EAAahD,OAAb,CAAb,CADmB;IAEnBJ,MAAM,EAAEkD,aAFW;IAGnB3D,IAAI,EAAE0D,KAHa;IAInBE,YAJmB;;IAKnB,MAAMG,KAAN,CAAaC,IAAb,EAAqD;MACnD,OAAO,MAAMf,SAAS,CAACrC,IAAD,EAAO8C,KAAP,EAAc,EAAE,GAAG7C,OAAL;QAAc,GAAGmD;MAAjB,CAAd,CAAtB;IACD;;EAPkB,CAAd,CAAP;AASD;;AAOD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,OAAf,CACLrD,IADK,EAELsD,OAFK,EAGLrD,OAHK,EAIyB;EAC9B,OAAO,MAAMoC,SAAS,CAACrC,IAAD,EAAO,CAAP,EAAU,EAAE,GAAGC,OAAL;IAAcqD;EAAd,CAAV,CAAtB;AACD"}
|
|
1
|
+
{"version":3,"file":"aens.mjs","names":["genSalt","commitmentHash","isAuctionName","CLIENT_TTL","NAME_TTL","Tag","ArgumentError","send","getName","getHeight","_buildTx","aensRevoke","name","options","nameRevokeTx","NameRevokeTx","nameId","accountId","onAccount","address","aensUpdate","pointers","extendPointers","allPointers","Object","fromEntries","map","key","id","nameUpdateTx","NameUpdateTx","clientTtl","nameTtl","entries","toString","aensTransfer","account","nameTransferTx","NameTransferTx","recipientId","aensQuery","opt","nameEntry","freeze","owner","update","transfer","revoke","extendTtl","aensClaim","salt","claimTx","NameClaimTx","nameSalt","result","nameInter","blockHeight","assign","aensPreclaim","height","commitmentId","preclaimTx","NamePreclaimTx","claim","opts","aensBid","nameFee"],"sources":["../src/aens.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 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 * Aens methods - routines to interact with the æternity naming system\n *\n * The high-level description of the naming system is\n * https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol\n * repository.\n */\n\nimport BigNumber from 'bignumber.js';\nimport { genSalt } from './utils/crypto';\nimport { commitmentHash, isAuctionName } from './tx/builder/helpers';\nimport {\n CLIENT_TTL, NAME_TTL, Tag, AensName,\n} from './tx/builder/constants';\nimport { ArgumentError } from './utils/errors';\nimport { Encoded } from './utils/encoder';\nimport { send, SendOptions } from './spend';\nimport { getName, getHeight } from './chain';\nimport { _buildTx, BuildTxOptions } from './tx';\nimport { TransformNodeType } from './Node';\nimport { NameEntry, NamePointer } from './apis/node';\nimport AccountBase from './account/Base';\n\ninterface KeyPointers {\n [key: string]: string | Buffer;\n}\n\n/**\n * Revoke a name\n * @category AENS\n * @param name - Name hash\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensRevoke(name, { fee, ttl , nonce })\n * // or\n * await nameObject.revoke({ fee, ttl, nonce })\n * ```\n */\nexport async function aensRevoke(\n name: AensName,\n options: AensRevokeOptions,\n): ReturnType<typeof send> {\n const nameRevokeTx = await _buildTx(Tag.NameRevokeTx, {\n ...options,\n nameId: name,\n accountId: await options.onAccount.address(options),\n });\n return send(nameRevokeTx, options);\n}\n\ninterface AensRevokeOptions extends\n BuildTxOptions<Tag.NameRevokeTx, 'nameId' | 'accountId'>,\n SendOptions {}\n\n/**\n * Update a name\n * @category AENS\n * @param name - AENS name\n * @param pointers - Map of pointer keys to corresponding addresses\n * @param options - Options\n * @param options.extendPointers - Get the pointers from the node and merge with provided\n * ones. Pointers with the same type will be overwritten\n * @param options.onAccount - Make operation on specific account from sdk (you\n * pass publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @param options.nameTtl - Name ttl represented in number of\n * blocks (Max value is 50000 blocks)\n * @param options.clientTtl=84600 a suggestion as to how long any\n * clients should cache this information\n * @throws Invalid pointer array error\n * @example\n * ```js\n * const name = 'test.chain'\n * const pointersArray = ['ak_asd23dasdas...,' 'ct_asdf34fasdasd...']\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensUpdate(name, pointersArray, { nameTtl, ttl, fee, nonce, clientTtl })\n * // or\n * await nameObject.update(pointers, { nameTtl, ttl, fee, nonce, clientTtl })\n * ```\n */\nexport async function aensUpdate(\n name: AensName,\n pointers: KeyPointers,\n { extendPointers, ...options }: AensUpdateOptions,\n): ReturnType<typeof send> {\n const allPointers = {\n ...extendPointers === true && Object.fromEntries(\n (await getName(name, options)).pointers\n .map(({ key, id }: { key: string; id: string }) => [key, id]),\n ),\n ...pointers,\n };\n\n const nameUpdateTx = await _buildTx(Tag.NameUpdateTx, {\n clientTtl: CLIENT_TTL,\n nameTtl: NAME_TTL,\n ...options,\n nameId: name,\n accountId: await options.onAccount.address(options),\n pointers: Object.entries(allPointers).map(([key, id]) => ({ key, id: id.toString() })),\n });\n\n return send(nameUpdateTx, options);\n}\n\ninterface AensUpdateOptions extends\n BuildTxOptions<Tag.NameUpdateTx, 'nameId' | 'accountId' | 'pointers' | 'clientTtl' | 'nameTtl'>,\n SendOptions {\n extendPointers?: boolean;\n clientTtl?: number;\n nameTtl?: number;\n}\n\n/**\n * Transfer a domain to another account\n * @category AENS\n * @param name - AENS name\n * @param account - Recipient account publick key\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const recipientPub = 'ak_asd23dasdas...'\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensTransfer(name, recipientPub, { ttl, fee, nonce })\n * // or\n * await nameObject.transfer(recipientPub, { ttl, fee, nonce })\n * ```\n */\nexport async function aensTransfer(\n name: AensName,\n account: Encoded.AccountAddress,\n options: AensTransferOptions,\n): ReturnType<typeof send> {\n const nameTransferTx = await _buildTx(Tag.NameTransferTx, {\n ...options,\n nameId: name,\n accountId: await options.onAccount.address(options),\n recipientId: account,\n });\n\n return send(nameTransferTx, options);\n}\n\ninterface AensTransferOptions extends\n BuildTxOptions<Tag.NameTransferTx, 'nameId' | 'accountId' | 'recipientId'>,\n SendOptions {}\n\n/**\n * Query the AENS name info from the node\n * and return the object with info and predefined functions for manipulating name\n * @category AENS\n * @param name - AENS name\n * @param opt - Options\n * @returns\n * @example\n * ```js\n * const nameObject = sdkInstance.aensQuery('test.chain')\n * console.log(nameObject)\n * {\n * id, // name hash\n * pointers, // array of pointers\n * update, // Update name function\n * extendTtl, // Extend Ttl name function\n * transfer, // Transfer name function\n * revoke // Revoke name function\n * }\n * ```\n */\nexport async function aensQuery(\n name: AensName,\n opt: Parameters<typeof getName>[1] & Parameters<typeof aensUpdate>[2]\n & Parameters<typeof aensTransfer>[2],\n): Promise<Readonly<\n TransformNodeType<NameEntry> & {\n id: Encoded.Name;\n owner: Encoded.AccountAddress;\n pointers: KeyPointers | NamePointer[];\n ttl: number;\n update: (\n pointers: KeyPointers,\n options?: Omit<Parameters<typeof aensQuery>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {\n onAccount?: AccountBase;\n }\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;\n transfer: (\n account: Encoded.AccountAddress,\n options?: Parameters<typeof aensQuery>[1]\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;\n revoke: (options?: Omit<Parameters<typeof aensRevoke>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {\n onAccount?: AccountBase;\n }\n ) => ReturnType<typeof aensRevoke>;\n extendTtl: (\n nameTtl: number,\n options?: Omit<Parameters<typeof aensQuery>[1], 'onNode' | 'onCompiler' | 'onAccount'>\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;\n }\n >> {\n const nameEntry = await getName(name, opt);\n return Object.freeze({\n ...nameEntry,\n id: nameEntry.id as Encoded.Name,\n owner: nameEntry.owner as Encoded.AccountAddress,\n async update(pointers, options) {\n return {\n ...await aensUpdate(name, pointers, { ...opt, ...options }),\n ...await aensQuery(name, { ...opt, ...options }),\n };\n },\n async transfer(account, options) {\n return {\n ...await aensTransfer(name, account, { ...opt, ...options }),\n ...await aensQuery(name, { ...opt, ...options }),\n };\n },\n async revoke(options) {\n return aensRevoke(name, { ...opt, ...options });\n },\n async extendTtl(nameTtl = NAME_TTL, options = {}) {\n if (nameTtl > NAME_TTL || nameTtl <= 0) {\n throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, nameTtl);\n }\n\n return {\n ...await aensUpdate(name, {}, {\n ...opt, ...options, nameTtl, extendPointers: true,\n }),\n ...await aensQuery(name, { ...opt, ...options }),\n };\n },\n });\n}\n\n/**\n * Claim a previously preclaimed registration. This can only be done after the\n * preclaim step\n * @category AENS\n * @param name - AENS name\n * @param salt - Salt from pre-claim, or 0 if it's a bid\n * @param options - options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @param options.nameFee - Name Fee (By default calculated by sdk)\n * @returns the result of the claim\n * @example\n * ```js\n * const name = 'test.chain'\n * const salt = preclaimResult.salt // salt from pre-claim transaction\n *\n * await sdkInstance.aensClaim(name, salt, { ttl, fee, nonce, nameFee })\n * ```\n */\nexport async function aensClaim(\n name: AensName,\n salt: number,\n options: AensClaimOptions,\n): Promise<AensClaimReturnType> {\n const claimTx = await _buildTx(Tag.NameClaimTx, {\n ...options,\n accountId: await options.onAccount.address(options),\n nameSalt: salt,\n name,\n });\n\n const result = await send(claimTx, options);\n if (!isAuctionName(name)) {\n const nameInter = result.blockHeight != null && result.blockHeight > 0\n ? await aensQuery(name, options)\n : {};\n return Object.assign(result, nameInter);\n }\n return result;\n}\n\ntype AensClaimOptionsType = BuildTxOptions<Tag.NameClaimTx, 'accountId' | 'nameSalt' | 'name'>\n& SendOptions & Parameters<typeof aensQuery>[1];\ninterface AensClaimOptions extends AensClaimOptionsType {}\ninterface AensClaimReturnType extends\n Awaited<ReturnType<typeof send>>,\n Partial<Awaited<ReturnType<typeof aensQuery>>> {}\n\n/**\n * Preclaim a name. Sends a hash of the name and a random salt to the node\n * @category AENS\n * @param name - AENS name\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @example\n * ```js\n * const name = 'test.chain'\n * const salt = preclaimResult.salt // salt from pre-claim transaction\n *\n * await sdkInstance.aensPreclaim(name, { ttl, fee, nonce })\n * {\n * ...transactionResult,\n * claim, // Claim function (options={}) => claimTransactionResult\n * salt,\n * commitmentId\n * }\n * ```\n */\nexport async function aensPreclaim(name: AensName, options: AensPreclaimOptions): Promise<Readonly<\nAwaited<ReturnType<typeof send>> & {\n height: number;\n salt: number;\n commitmentId: string;\n claim: (opts?: Parameters<typeof aensClaim>[2]) => ReturnType<typeof aensClaim>;\n}\n>> {\n const salt = genSalt();\n const height = await getHeight(options);\n const commitmentId = commitmentHash(name, salt);\n\n const preclaimTx = await _buildTx(Tag.NamePreclaimTx, {\n ...options,\n accountId: await options.onAccount.address(options),\n commitmentId,\n });\n\n return Object.freeze({\n ...await send(preclaimTx, options),\n height,\n salt,\n commitmentId,\n async claim(opts?: Parameters<typeof aensClaim>[2]) {\n return aensClaim(name, salt, { ...options, ...opts });\n },\n });\n}\n\ninterface AensPreclaimOptions extends\n BuildTxOptions<Tag.NamePreclaimTx, 'accountId' | 'commitmentId'>,\n SendOptions,\n AensClaimOptions {}\n\n/**\n * Bid to name auction\n * @category AENS\n * @param name - Domain name\n * @param nameFee - Name fee (bid fee)\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const bidFee = computeBidFee(name, startFee, incrementPercentage)\n *\n * await sdkInstance.aensBid(name, 213109412839123, { ttl, fee, nonce })\n * ```\n */\nexport async function aensBid(\n name: AensName,\n nameFee: number | string | BigNumber,\n options: Omit<Parameters<typeof aensClaim>[2], 'nameFee'>,\n): ReturnType<typeof aensClaim> {\n return aensClaim(name, 0, { ...options, nameFee });\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Browser connection base interface
|
|
3
|
+
* @category aepp wallet communication
|
|
3
4
|
*/
|
|
4
5
|
export default abstract class BrowserConnection {
|
|
5
6
|
debug: boolean;
|
|
@@ -17,7 +18,7 @@ export default abstract class BrowserConnection {
|
|
|
17
18
|
*/
|
|
18
19
|
disconnect(): void;
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
+
* Receive message
|
|
21
22
|
*/
|
|
22
23
|
protected receiveMessage(message: any): void;
|
|
23
24
|
/**
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import { AlreadyConnectedError, NoWalletConnectedError } from "../../utils/errors.mjs";
|
|
18
18
|
/**
|
|
19
19
|
* Browser connection base interface
|
|
20
|
+
* @category aepp wallet communication
|
|
20
21
|
*/
|
|
21
22
|
|
|
22
23
|
export default class BrowserConnection {
|
|
@@ -33,7 +34,9 @@ export default class BrowserConnection {
|
|
|
33
34
|
*/
|
|
34
35
|
|
|
35
36
|
|
|
36
|
-
connect(
|
|
37
|
+
connect( // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
38
|
+
onMessage, // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
39
|
+
onDisconnect) {
|
|
37
40
|
if (this.isConnected()) throw new AlreadyConnectedError('You already connected');
|
|
38
41
|
}
|
|
39
42
|
/**
|
|
@@ -45,7 +48,7 @@ export default class BrowserConnection {
|
|
|
45
48
|
if (!this.isConnected()) throw new NoWalletConnectedError('You dont have connection. Please connect before');
|
|
46
49
|
}
|
|
47
50
|
/**
|
|
48
|
-
*
|
|
51
|
+
* Receive message
|
|
49
52
|
*/
|
|
50
53
|
|
|
51
54
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Browser.mjs","names":["AlreadyConnectedError","NoWalletConnectedError","BrowserConnection","constructor","debug","connect","onMessage","onDisconnect","isConnected","disconnect","receiveMessage","message","console","log","sendMessage"],"sources":["../../../src/aepp-wallet-communication/connection/Browser.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport { AlreadyConnectedError, NoWalletConnectedError } from '../../utils/errors'
|
|
1
|
+
{"version":3,"file":"Browser.mjs","names":["AlreadyConnectedError","NoWalletConnectedError","BrowserConnection","constructor","debug","connect","onMessage","onDisconnect","isConnected","disconnect","receiveMessage","message","console","log","sendMessage"],"sources":["../../../src/aepp-wallet-communication/connection/Browser.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport { AlreadyConnectedError, NoWalletConnectedError } from '../../utils/errors';\n\n/**\n * Browser connection base interface\n * @category aepp wallet communication\n */\nexport default abstract class BrowserConnection {\n debug: boolean;\n\n protected constructor({ debug = false }: { debug?: boolean }) {\n this.debug = debug;\n }\n\n /**\n * Connect\n * @param onMessage - Message handler\n * @param onDisconnect - trigger when runtime connection in closed\n */\n connect(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onMessage: (message: any, origin: string, source: any) => void,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onDisconnect: () => void,\n ): void {\n if (this.isConnected()) throw new AlreadyConnectedError('You already connected');\n }\n\n /**\n * Disconnect\n */\n disconnect(): void {\n if (!this.isConnected()) throw new NoWalletConnectedError('You dont have connection. Please connect before');\n }\n\n /**\n * Receive message\n */\n protected receiveMessage(message: any): void {\n if (this.debug) console.log('Receive message:', message);\n }\n\n /**\n * Send message\n */\n sendMessage(message: any): void {\n if (this.debug) console.log('Send message:', message);\n }\n\n /**\n * Check if connected\n * @returns Is connected\n */\n abstract isConnected(): boolean;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;SAESA,qB,EAAuBC,sB;AAEhC;AACA;AACA;AACA;;AACA,eAAe,MAAeC,iBAAf,CAAiC;EAGpCC,WAAW,OAAyC;IAAA,IAAxC;MAAEC,KAAK,GAAG;IAAV,CAAwC;IAC5D,KAAKA,KAAL,GAAaA,KAAb;EACD;EAED;AACF;AACA;AACA;AACA;;;EACEC,OAAO,EACL;EACAC,SAFK,EAGL;EACAC,YAJK,EAKC;IACN,IAAI,KAAKC,WAAL,EAAJ,EAAwB,MAAM,IAAIR,qBAAJ,CAA0B,uBAA1B,CAAN;EACzB;EAED;AACF;AACA;;;EACES,UAAU,GAAS;IACjB,IAAI,CAAC,KAAKD,WAAL,EAAL,EAAyB,MAAM,IAAIP,sBAAJ,CAA2B,iDAA3B,CAAN;EAC1B;EAED;AACF;AACA;;;EACYS,cAAc,CAACC,OAAD,EAAqB;IAC3C,IAAI,KAAKP,KAAT,EAAgBQ,OAAO,CAACC,GAAR,CAAY,kBAAZ,EAAgCF,OAAhC;EACjB;EAED;AACF;AACA;;;EACEG,WAAW,CAACH,OAAD,EAAqB;IAC9B,IAAI,KAAKP,KAAT,EAAgBQ,OAAO,CAACC,GAAR,CAAY,eAAZ,EAA6BF,OAA7B;EACjB;EAED;AACF;AACA;AACA;;;AA7CgD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserRuntime.mjs","names":["BrowserConnection","BrowserRuntimeConnection","constructor","port","options","disconnect","connect","onMessage","onDisconnect","addListener","message","receiveMessage","name","sendMessage","postMessage","isConnected","hasListeners"],"sources":["../../../src/aepp-wallet-communication/connection/BrowserRuntime.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport { Runtime } from 'webextension-polyfill'
|
|
1
|
+
{"version":3,"file":"BrowserRuntime.mjs","names":["BrowserConnection","BrowserRuntimeConnection","constructor","port","options","disconnect","connect","onMessage","onDisconnect","addListener","message","receiveMessage","name","sendMessage","postMessage","isConnected","hasListeners"],"sources":["../../../src/aepp-wallet-communication/connection/BrowserRuntime.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport { Runtime } from 'webextension-polyfill';\nimport BrowserConnection from './Browser';\n\n/**\n * BrowserRuntimeConnection\n * Handle browser runtime communication\n * @category aepp wallet communication\n */\nexport default class BrowserRuntimeConnection extends BrowserConnection {\n port: Runtime.Port;\n\n constructor({ port, ...options }: { port: Runtime.Port; debug: boolean }) {\n super(options);\n this.port = port;\n }\n\n disconnect(): void {\n super.disconnect();\n this.port.disconnect();\n }\n\n connect(\n onMessage: (message: any, origin: string, source: Runtime.Port) => void,\n onDisconnect: () => void,\n ): void {\n super.connect(onMessage, onDisconnect);\n this.port.onMessage.addListener((message, port) => {\n this.receiveMessage(message);\n onMessage(message, port.name, port);\n });\n this.port.onDisconnect.addListener(onDisconnect);\n }\n\n sendMessage(message: any): void {\n super.sendMessage(message);\n this.port.postMessage(message);\n }\n\n isConnected(): boolean {\n return this.port.onMessage.hasListeners();\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;OAGOA,iB;AAEP;AACA;AACA;AACA;AACA;;AACA,eAAe,MAAMC,wBAAN,SAAuCD,iBAAvC,CAAyD;EAGtEE,WAAW,OAA+D;IAAA,IAA9D;MAAEC,IAAF;MAAQ,GAAGC;IAAX,CAA8D;IACxE,MAAMA,OAAN;IACA,KAAKD,IAAL,GAAYA,IAAZ;EACD;;EAEDE,UAAU,GAAS;IACjB,MAAMA,UAAN;IACA,KAAKF,IAAL,CAAUE,UAAV;EACD;;EAEDC,OAAO,CACLC,SADK,EAELC,YAFK,EAGC;IACN,MAAMF,OAAN,CAAcC,SAAd,EAAyBC,YAAzB;IACA,KAAKL,IAAL,CAAUI,SAAV,CAAoBE,WAApB,CAAgC,CAACC,OAAD,EAAUP,IAAV,KAAmB;MACjD,KAAKQ,cAAL,CAAoBD,OAApB;MACAH,SAAS,CAACG,OAAD,EAAUP,IAAI,CAACS,IAAf,EAAqBT,IAArB,CAAT;IACD,CAHD;IAIA,KAAKA,IAAL,CAAUK,YAAV,CAAuBC,WAAvB,CAAmCD,YAAnC;EACD;;EAEDK,WAAW,CAACH,OAAD,EAAqB;IAC9B,MAAMG,WAAN,CAAkBH,OAAlB;IACA,KAAKP,IAAL,CAAUW,WAAV,CAAsBJ,OAAtB;EACD;;EAEDK,WAAW,GAAY;IACrB,OAAO,KAAKZ,IAAL,CAAUI,SAAV,CAAoBS,YAApB,EAAP;EACD;;AAhCqE"}
|
|
@@ -3,6 +3,7 @@ import { MESSAGE_DIRECTION } from '../schema';
|
|
|
3
3
|
export declare type ImplPostMessage = Pick<Window, 'addEventListener' | 'removeEventListener' | 'postMessage'>;
|
|
4
4
|
/**
|
|
5
5
|
* Browser window Post Message connector module
|
|
6
|
+
* @category aepp wallet communication
|
|
6
7
|
*/
|
|
7
8
|
export default class BrowserWindowMessageConnection extends BrowserConnection {
|
|
8
9
|
#private;
|
|
@@ -33,6 +33,7 @@ var _self = /*#__PURE__*/new WeakMap();
|
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* Browser window Post Message connector module
|
|
36
|
+
* @category aepp wallet communication
|
|
36
37
|
*/
|
|
37
38
|
export default class BrowserWindowMessageConnection extends BrowserConnection {
|
|
38
39
|
/**
|
|
@@ -88,7 +89,10 @@ export default class BrowserWindowMessageConnection extends BrowserConnection {
|
|
|
88
89
|
super.connect(onMessage, onDisconnect);
|
|
89
90
|
|
|
90
91
|
this.listener = message => {
|
|
91
|
-
|
|
92
|
+
var _message$data$jsonrpc, _message$data$data;
|
|
93
|
+
|
|
94
|
+
// TODO: strict validate origin and source instead of checking message structure
|
|
95
|
+
if (typeof message.data !== 'object' || ((_message$data$jsonrpc = message.data.jsonrpc) !== null && _message$data$jsonrpc !== void 0 ? _message$data$jsonrpc : (_message$data$data = message.data.data) === null || _message$data$data === void 0 ? void 0 : _message$data$data.jsonrpc) !== '2.0') return;
|
|
92
96
|
if (this.origin != null && this.origin !== message.origin) return;
|
|
93
97
|
if (_classPrivateFieldGet(this, _target) != null && _classPrivateFieldGet(this, _target) !== message.source) return;
|
|
94
98
|
this.receiveMessage(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserWindowMessage.mjs","names":["BrowserConnection","MESSAGE_DIRECTION","InternalError","RpcConnectionError","BrowserWindowMessageConnection","constructor","target","self","window","origin","sendDirection","receiveDirection","to_aepp","options","isConnected","listener","connect","onMessage","onDisconnect","message","data","source","receiveMessage","type","addEventListener","disconnect","removeEventListener","undefined","sendMessage","msg","postMessage"],"sources":["../../../src/aepp-wallet-communication/connection/BrowserWindowMessage.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport BrowserConnection from './Browser'
|
|
1
|
+
{"version":3,"file":"BrowserWindowMessage.mjs","names":["BrowserConnection","MESSAGE_DIRECTION","InternalError","RpcConnectionError","BrowserWindowMessageConnection","constructor","target","self","window","origin","sendDirection","receiveDirection","to_aepp","options","isConnected","listener","connect","onMessage","onDisconnect","message","data","jsonrpc","source","receiveMessage","type","addEventListener","disconnect","removeEventListener","undefined","sendMessage","msg","postMessage"],"sources":["../../../src/aepp-wallet-communication/connection/BrowserWindowMessage.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport BrowserConnection from './Browser';\nimport { MESSAGE_DIRECTION } from '../schema';\nimport { InternalError, RpcConnectionError } from '../../utils/errors';\n\nexport type ImplPostMessage = Pick<Window, 'addEventListener' | 'removeEventListener' | 'postMessage'>;\n\n/**\n * Browser window Post Message connector module\n * @category aepp wallet communication\n */\nexport default class BrowserWindowMessageConnection extends BrowserConnection {\n origin?: string;\n\n sendDirection?: MESSAGE_DIRECTION;\n\n receiveDirection: MESSAGE_DIRECTION;\n\n listener?: (this: Window, ev: MessageEvent<any>) => void;\n\n #onDisconnect?: () => void;\n\n #target?: ImplPostMessage;\n\n #self: ImplPostMessage;\n\n /**\n * @param options - Options\n * @param options.target Target window for message\n * @param options.self Host window for message\n * @param options.origin Origin of receiver\n * @param options.sendDirection Wrapping messages into additional struct\n * `({ type: 'to_aepp' || 'to_waellet', data })`\n * Used for handling messages between content script and page\n * @param options.receiveDirection Unwrapping messages from additional struct\n */\n constructor({\n target,\n self = window,\n origin,\n sendDirection,\n receiveDirection = MESSAGE_DIRECTION.to_aepp,\n ...options\n }: {\n target?: ImplPostMessage;\n self?: ImplPostMessage;\n origin?: string;\n sendDirection?: MESSAGE_DIRECTION;\n receiveDirection?: MESSAGE_DIRECTION;\n debug?: boolean;\n } = {}) {\n super(options);\n this.#target = target;\n this.#self = self;\n this.origin = origin;\n this.sendDirection = sendDirection;\n this.receiveDirection = receiveDirection;\n }\n\n isConnected(): boolean {\n return this.listener != null;\n }\n\n connect(\n onMessage: (message: any, origin: string, source: MessageEventSource | null) => void,\n onDisconnect: () => void,\n ): void {\n super.connect(onMessage, onDisconnect);\n this.listener = (message: MessageEvent<any>) => {\n // TODO: strict validate origin and source instead of checking message structure\n if (\n typeof message.data !== 'object'\n || (message.data.jsonrpc ?? message.data.data?.jsonrpc) !== '2.0'\n ) return;\n if (this.origin != null && this.origin !== message.origin) return;\n if (this.#target != null && this.#target !== message.source) return;\n this.receiveMessage(message);\n let { data } = message;\n if (data.type != null) {\n if (message.data.type !== this.receiveDirection) return;\n data = data.data;\n }\n onMessage(data, message.origin, message.source);\n };\n this.#self.addEventListener('message', this.listener);\n this.#onDisconnect = onDisconnect;\n }\n\n disconnect(): void {\n super.disconnect();\n if (this.listener == null || this.#onDisconnect == null) {\n throw new InternalError('Expected to not happen, required for TS');\n }\n this.#self.removeEventListener('message', this.listener);\n delete this.listener;\n this.#onDisconnect();\n this.#onDisconnect = undefined;\n }\n\n sendMessage(msg: any): void {\n if (this.#target == null) throw new RpcConnectionError('Can\\'t send messages without target');\n const message = this.sendDirection != null ? { type: this.sendDirection, data: msg } : msg;\n super.sendMessage(message);\n this.#target.postMessage(message, this.origin ?? '*');\n }\n}\n"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import BrowserConnection from './connection/Browser';
|
|
|
2
2
|
/**
|
|
3
3
|
* Browser connection proxy
|
|
4
4
|
* Provide functionality to easily forward messages from one connection to another and back
|
|
5
|
+
* @category aepp wallet communication
|
|
5
6
|
* @param con1 - first connection
|
|
6
7
|
* @param con2 - second connection
|
|
7
8
|
* @returns a function to stop proxying
|