@aeternity/aepp-sdk 10.0.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -14
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +7 -27
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +1 -1
- package/dist/aepp-sdk.js.map +1 -1
- package/es/account/{base.js → base.mjs} +20 -10
- package/es/account/base.mjs.map +1 -0
- package/es/account/{memory.js → memory.mjs} +29 -14
- package/es/account/memory.mjs.map +1 -0
- package/es/account/{multiple.js → multiple.mjs} +10 -9
- package/es/account/multiple.mjs.map +1 -0
- package/es/ae/{aens.js → aens.mjs} +18 -22
- package/es/ae/aens.mjs.map +1 -0
- package/es/ae/{aepp.js → aepp.mjs} +9 -9
- package/es/ae/aepp.mjs.map +1 -0
- package/es/ae/contract.mjs +159 -0
- package/es/ae/contract.mjs.map +1 -0
- package/es/ae/{index.js → index.mjs} +8 -7
- package/es/ae/index.mjs.map +1 -0
- package/es/ae/{oracle.js → oracle.mjs} +33 -16
- package/es/ae/oracle.mjs.map +1 -0
- package/es/ae/{universal.js → universal.mjs} +10 -10
- package/es/ae/universal.mjs.map +1 -0
- package/es/ae/{wallet.js → wallet.mjs} +10 -10
- package/es/ae/wallet.mjs.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +74 -0
- package/es/bignumber.d.ts +1 -7
- package/es/chain/{index.js → index.mjs} +20 -4
- package/es/chain/index.mjs.map +1 -0
- package/es/chain/{node.js → node.mjs} +121 -73
- package/es/chain/node.mjs.map +1 -0
- package/es/channel/{handlers.js → handlers.mjs} +18 -20
- package/es/channel/handlers.mjs.map +1 -0
- package/es/channel/{index.js → index.mjs} +7 -7
- package/es/channel/index.mjs.map +1 -0
- package/es/channel/{internal.js → internal.mjs} +49 -32
- package/es/channel/internal.mjs.map +1 -0
- package/es/contract/aci.mjs +477 -0
- package/es/contract/aci.mjs.map +1 -0
- package/es/contract/compiler.mjs +115 -0
- package/es/contract/compiler.mjs.map +1 -0
- package/es/contract/ga/helpers.mjs +30 -0
- package/es/contract/ga/helpers.mjs.map +1 -0
- package/es/contract/ga/{index.js → index.mjs} +36 -28
- package/es/contract/ga/index.mjs.map +1 -0
- package/es/errors.d.ts +284 -0
- package/es/index.mjs +57 -0
- package/es/index.mjs.map +1 -0
- package/es/node-pool/{index.js → index.mjs} +11 -10
- package/es/node-pool/index.mjs.map +1 -0
- package/es/{node.js → node.mjs} +9 -8
- package/es/node.mjs.map +1 -0
- package/es/tx/builder/field-types.mjs +74 -0
- package/es/tx/builder/field-types.mjs.map +1 -0
- package/es/tx/builder/{helpers.js → helpers.mjs} +114 -56
- package/es/tx/builder/helpers.mjs.map +1 -0
- package/es/tx/builder/{index.js → index.mjs} +79 -68
- package/es/tx/builder/index.mjs.map +1 -0
- package/es/tx/builder/{schema.js → schema.mjs} +11 -65
- package/es/tx/builder/schema.mjs.map +1 -0
- package/es/tx/{index.js → index.mjs} +5 -2
- package/es/tx/index.mjs.map +1 -0
- package/es/tx/{tx-object.js → tx-object.mjs} +22 -15
- package/es/tx/tx-object.mjs.map +1 -0
- package/es/tx/{tx.js → tx.mjs} +15 -14
- package/es/tx/tx.mjs.map +1 -0
- package/es/tx/{validator.js → validator.mjs} +72 -33
- package/es/tx/validator.mjs.map +1 -0
- package/es/typings/blakejs/index.d.mjs +2 -0
- package/es/typings/blakejs/{index.d.js.map → index.d.mjs.map} +1 -1
- package/es/utils/aepp-wallet-communication/connection/{browser-runtime.js → browser-runtime.mjs} +7 -6
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/connection/{browser-window-message.js → browser-window-message.mjs} +10 -11
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/connection/{index.js → index.mjs} +5 -2
- package/es/utils/aepp-wallet-communication/connection/index.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/{content-script-bridge.js → content-script-bridge.mjs} +6 -5
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/{helpers.js → helpers.mjs} +3 -14
- package/es/utils/aepp-wallet-communication/helpers.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/rpc/{aepp-rpc.js → aepp-rpc.mjs} +113 -67
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/rpc/{rpc-client.js → rpc-client.mjs} +14 -9
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/rpc/{wallet-rpc.js → wallet-rpc.mjs} +71 -63
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/schema.mjs +102 -0
- package/es/utils/aepp-wallet-communication/schema.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/{wallet-detector.js → wallet-detector.mjs} +6 -5
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
- package/es/utils/{amount-formatter.js → amount-formatter.mjs} +14 -7
- package/es/utils/amount-formatter.mjs.map +1 -0
- package/es/utils/{async-init.js → async-init.mjs} +8 -11
- package/es/utils/async-init.mjs.map +1 -0
- package/es/utils/{bignumber.js → bignumber.mjs} +2 -9
- package/es/utils/bignumber.mjs.map +1 -0
- package/es/utils/{bytes.js → bytes.mjs} +16 -8
- package/es/utils/bytes.mjs.map +1 -0
- package/es/utils/{crypto-ts.js → crypto-ts.mjs} +11 -3
- package/es/utils/crypto-ts.mjs.map +1 -0
- package/es/utils/{crypto.js → crypto.mjs} +40 -105
- package/es/utils/crypto.mjs.map +1 -0
- package/es/utils/errors.mjs +689 -0
- package/es/utils/errors.mjs.map +1 -0
- package/es/utils/{hd-wallet.js → hd-wallet.mjs} +33 -34
- package/es/utils/hd-wallet.mjs.map +1 -0
- package/es/utils/{json-big.js → json-big.mjs} +1 -1
- package/es/utils/{json-big.js.map → json-big.mjs.map} +1 -1
- package/es/utils/{keystore.js → keystore.mjs} +63 -51
- package/es/utils/keystore.mjs.map +1 -0
- package/es/utils/{mptree.js → mptree.mjs} +21 -12
- package/es/utils/mptree.mjs.map +1 -0
- package/es/utils/{other.js → other.mjs} +2 -2
- package/es/utils/other.mjs.map +1 -0
- package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
- package/es/utils/{semver-satisfies.js.map → semver-satisfies.mjs.map} +1 -1
- package/es/utils/{string.js → string.mjs} +1 -1
- package/es/utils/{string.js.map → string.mjs.map} +1 -1
- package/es/utils/{swagger.js → swagger.mjs} +46 -14
- package/es/utils/swagger.mjs.map +1 -0
- package/package.json +46 -55
- package/src/account/memory.js +13 -8
- package/src/account/multiple.js +12 -4
- package/src/ae/aens.js +12 -17
- package/src/ae/aepp.js +2 -2
- package/src/ae/contract.js +15 -152
- package/src/ae/index.js +2 -1
- package/src/ae/oracle.js +25 -10
- package/src/ae/universal.js +2 -2
- package/src/ae/wallet.js +2 -2
- package/src/chain/index.js +21 -2
- package/src/chain/node.js +80 -53
- package/src/channel/handlers.js +20 -17
- package/src/channel/internal.js +30 -24
- package/src/contract/{aci/index.js → aci.js} +152 -93
- package/src/contract/compiler.js +22 -117
- package/src/contract/ga/helpers.js +7 -5
- package/src/contract/ga/index.js +27 -24
- package/src/index.js +7 -8
- package/src/node-pool/index.js +9 -8
- package/src/node.js +5 -7
- package/src/tx/builder/field-types.js +61 -0
- package/src/tx/builder/helpers.js +113 -58
- package/src/tx/builder/index.js +39 -34
- package/src/tx/builder/schema.js +11 -25
- package/src/tx/tx-object.js +10 -9
- package/src/tx/tx.js +17 -8
- package/src/tx/validator.js +25 -5
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +8 -3
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +10 -6
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +5 -4
- package/src/utils/aepp-wallet-communication/helpers.js +2 -12
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +81 -55
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +15 -6
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +60 -49
- package/src/utils/aepp-wallet-communication/schema.ts +80 -0
- package/src/utils/aepp-wallet-communication/wallet-detector.js +3 -2
- package/src/utils/amount-formatter.ts +4 -3
- package/src/utils/async-init.js +10 -6
- package/src/utils/bignumber.ts +1 -9
- package/src/utils/bytes.ts +3 -2
- package/src/utils/crypto-ts.ts +2 -2
- package/src/utils/crypto.js +9 -92
- package/src/utils/errors.ts +683 -0
- package/src/utils/hd-wallet.js +11 -26
- package/src/utils/keystore.js +47 -51
- package/src/utils/mptree.ts +12 -6
- package/src/utils/swagger.js +67 -44
- package/CHANGELOG.md +0 -1603
- package/es/account/base.js.map +0 -1
- package/es/account/memory.js.map +0 -1
- package/es/account/multiple.js.map +0 -1
- package/es/ae/aens.js.map +0 -1
- package/es/ae/aepp.js.map +0 -1
- package/es/ae/contract.js +0 -312
- package/es/ae/contract.js.map +0 -1
- package/es/ae/index.js.map +0 -1
- package/es/ae/oracle.js.map +0 -1
- package/es/ae/universal.js.map +0 -1
- package/es/ae/wallet.js.map +0 -1
- package/es/chain/index.js.map +0 -1
- package/es/chain/node.js.map +0 -1
- package/es/channel/handlers.js.map +0 -1
- package/es/channel/index.js.map +0 -1
- package/es/channel/internal.js.map +0 -1
- package/es/contract/aci/helpers.js +0 -298
- package/es/contract/aci/helpers.js.map +0 -1
- package/es/contract/aci/index.js +0 -361
- package/es/contract/aci/index.js.map +0 -1
- package/es/contract/aci/transformation.js +0 -66
- package/es/contract/aci/transformation.js.map +0 -1
- package/es/contract/compiler.js +0 -244
- package/es/contract/compiler.js.map +0 -1
- package/es/contract/ga/helpers.js +0 -22
- package/es/contract/ga/helpers.js.map +0 -1
- package/es/contract/ga/index.js.map +0 -1
- package/es/contract/index.js +0 -162
- package/es/contract/index.js.map +0 -1
- package/es/index.js +0 -57
- package/es/index.js.map +0 -1
- package/es/node-pool/index.js.map +0 -1
- package/es/node.js.map +0 -1
- package/es/tx/builder/helpers.js.map +0 -1
- package/es/tx/builder/index.js.map +0 -1
- package/es/tx/builder/schema.js.map +0 -1
- package/es/tx/index.js.map +0 -1
- package/es/tx/tx-object.js.map +0 -1
- package/es/tx/tx.js.map +0 -1
- package/es/tx/validator.js.map +0 -1
- package/es/typings/blakejs/index.d.js +0 -2
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
- package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
- package/es/utils/aepp-wallet-communication/schema.js +0 -107
- package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
- package/es/utils/amount-formatter.js.map +0 -1
- package/es/utils/async-init.js.map +0 -1
- package/es/utils/bignumber.js.map +0 -1
- package/es/utils/bytes.js.map +0 -1
- package/es/utils/crypto-ts.js.map +0 -1
- package/es/utils/crypto.js.map +0 -1
- package/es/utils/hd-wallet.js.map +0 -1
- package/es/utils/keystore.js.map +0 -1
- package/es/utils/mptree.js.map +0 -1
- package/es/utils/other.js.map +0 -1
- package/es/utils/swagger.js.map +0 -1
- package/src/contract/aci/transformation.js +0 -72
- package/src/contract/index.js +0 -163
- package/src/utils/aepp-wallet-communication/schema.js +0 -108
package/src/utils/crypto.js
CHANGED
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
* @example import { Crypto } from '@aeternity/aepp-sdk'
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
import bs58check from 'bs58check'
|
|
25
24
|
import nacl from 'tweetnacl'
|
|
26
25
|
import aesjs from 'aes-js'
|
|
27
26
|
import shajs from 'sha.js'
|
|
28
27
|
|
|
29
|
-
import { str2buf
|
|
30
|
-
import { decode } from '../tx/builder/helpers'
|
|
28
|
+
import { str2buf } from './bytes'
|
|
29
|
+
import { encode, decode } from '../tx/builder/helpers'
|
|
31
30
|
import { hash } from './crypto-ts'
|
|
31
|
+
import { NotImplementedError } from './errors'
|
|
32
32
|
|
|
33
33
|
export * from './crypto-ts'
|
|
34
34
|
|
|
@@ -43,7 +43,7 @@ const Ecb = aesjs.ModeOfOperation.ecb
|
|
|
43
43
|
export function getAddressFromPriv (secret) {
|
|
44
44
|
const keys = nacl.sign.keyPair.fromSecretKey(str2buf(secret))
|
|
45
45
|
const publicBuffer = Buffer.from(keys.publicKey)
|
|
46
|
-
return
|
|
46
|
+
return encode(publicBuffer, 'ak')
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
/**
|
|
@@ -54,24 +54,14 @@ export function getAddressFromPriv (secret) {
|
|
|
54
54
|
* @return {Boolean} valid
|
|
55
55
|
*/
|
|
56
56
|
export function isAddressValid (address, prefix = 'ak') {
|
|
57
|
-
if (typeof address !== 'string') return false
|
|
58
57
|
try {
|
|
59
|
-
|
|
58
|
+
decode(address, prefix)
|
|
59
|
+
return true
|
|
60
60
|
} catch (e) {
|
|
61
61
|
return false
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
/**
|
|
66
|
-
* Parse decimal address and return base58Check encoded address with prefix 'ak'
|
|
67
|
-
* @rtype (input: String) => address: String
|
|
68
|
-
* @param {String} decimalAddress - Address
|
|
69
|
-
* @return {String} address
|
|
70
|
-
*/
|
|
71
|
-
export function addressFromDecimal (decimalAddress) {
|
|
72
|
-
return aeEncodeKey(toBytes(decimalAddress, true))
|
|
73
|
-
}
|
|
74
|
-
|
|
75
65
|
/**
|
|
76
66
|
* Calculate SHA256 hash of `input`
|
|
77
67
|
* @rtype (input: String) => hash: String
|
|
@@ -91,66 +81,6 @@ export function salt () {
|
|
|
91
81
|
return Math.floor(Math.random() * Math.floor(Number.MAX_SAFE_INTEGER))
|
|
92
82
|
}
|
|
93
83
|
|
|
94
|
-
/**
|
|
95
|
-
* Base64check encode given `input`
|
|
96
|
-
* @rtype (input: String|buffer) => Buffer
|
|
97
|
-
* @param {String} input - Data to encode
|
|
98
|
-
* @return {Buffer} Base64check encoded data
|
|
99
|
-
*/
|
|
100
|
-
export function encodeBase64Check (input) {
|
|
101
|
-
const buffer = Buffer.from(input)
|
|
102
|
-
const checksum = checkSumFn(input)
|
|
103
|
-
const payloadWithChecksum = Buffer.concat([buffer, checksum], buffer.length + 4)
|
|
104
|
-
return payloadWithChecksum.toString('base64')
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export function checkSumFn (payload) {
|
|
108
|
-
return sha256hash(sha256hash(payload)).slice(0, 4)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function decodeRaw (buffer) {
|
|
112
|
-
const payload = buffer.slice(0, -4)
|
|
113
|
-
const checksum = buffer.slice(-4)
|
|
114
|
-
const newChecksum = checkSumFn(payload)
|
|
115
|
-
|
|
116
|
-
if (!checksum.equals(newChecksum)) return
|
|
117
|
-
|
|
118
|
-
return payload
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Base64check decode given `str`
|
|
123
|
-
* @rtype (str: String) => Buffer
|
|
124
|
-
* @param {String} str - Data to decode
|
|
125
|
-
* @return {Buffer} Base64check decoded data
|
|
126
|
-
*/
|
|
127
|
-
export function decodeBase64Check (str) {
|
|
128
|
-
const buffer = Buffer.from(str, 'base64')
|
|
129
|
-
const payload = decodeRaw(buffer)
|
|
130
|
-
if (!payload) throw new Error('Invalid checksum')
|
|
131
|
-
return Buffer.from(payload)
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Base58 encode given `input`
|
|
136
|
-
* @rtype (input: String) => String
|
|
137
|
-
* @param {String|Buffer} input - Data to encode
|
|
138
|
-
* @return {String} Base58 encoded data
|
|
139
|
-
*/
|
|
140
|
-
export function encodeBase58Check (input) {
|
|
141
|
-
return bs58check.encode(Buffer.from(input))
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Base58 decode given `str`
|
|
146
|
-
* @rtype (str: String) => Buffer
|
|
147
|
-
* @param {String} str - Data to decode
|
|
148
|
-
* @return {Buffer} Base58 decoded data
|
|
149
|
-
*/
|
|
150
|
-
export function decodeBase58Check (str) {
|
|
151
|
-
return bs58check.decode(str)
|
|
152
|
-
}
|
|
153
|
-
|
|
154
84
|
/**
|
|
155
85
|
* Converts a positive integer to the smallest possible
|
|
156
86
|
* representation in a binary digit representation
|
|
@@ -175,7 +105,7 @@ export function encodeUnsigned (value) {
|
|
|
175
105
|
export function encodeContractAddress (owner, nonce) {
|
|
176
106
|
const publicKey = decode(owner, 'ak')
|
|
177
107
|
const binary = Buffer.concat([publicKey, encodeUnsigned(nonce)])
|
|
178
|
-
return
|
|
108
|
+
return encode(hash(binary), 'ct')
|
|
179
109
|
}
|
|
180
110
|
|
|
181
111
|
// KEY-PAIR HELPERS
|
|
@@ -210,7 +140,7 @@ export function generateKeyPair (raw = false) {
|
|
|
210
140
|
}
|
|
211
141
|
} else {
|
|
212
142
|
return {
|
|
213
|
-
publicKey:
|
|
143
|
+
publicKey: encode(publicBuffer, 'ak'),
|
|
214
144
|
secretKey: secretBuffer.toString('hex')
|
|
215
145
|
}
|
|
216
146
|
}
|
|
@@ -271,7 +201,7 @@ export function verify (str, signature, publicKey) {
|
|
|
271
201
|
export function messageToHash (message) {
|
|
272
202
|
const p = Buffer.from('aeternity Signed Message:\n', 'utf8')
|
|
273
203
|
const msg = Buffer.from(message, 'utf8')
|
|
274
|
-
if (msg.length >= 0xFD) throw new
|
|
204
|
+
if (msg.length >= 0xFD) throw new NotImplementedError('Message too long')
|
|
275
205
|
return hash(Buffer.concat([Buffer.from([p.length]), p, Buffer.from([msg.length]), msg]))
|
|
276
206
|
}
|
|
277
207
|
|
|
@@ -283,19 +213,6 @@ export function verifyMessage (str, signature, publicKey) {
|
|
|
283
213
|
return verify(messageToHash(str), signature, publicKey)
|
|
284
214
|
}
|
|
285
215
|
|
|
286
|
-
/**
|
|
287
|
-
* æternity readable public keys are the base58-encoded public key, prepended
|
|
288
|
-
* with 'ak_'
|
|
289
|
-
* @rtype (binaryKey: Buffer) => String
|
|
290
|
-
* @param {Buffer} binaryKey - Key to encode
|
|
291
|
-
* @return {String} Encoded key
|
|
292
|
-
*/
|
|
293
|
-
export function aeEncodeKey (binaryKey) {
|
|
294
|
-
const publicKeyBuffer = Buffer.from(binaryKey, 'hex')
|
|
295
|
-
const pubKeyAddress = encodeBase58Check(publicKeyBuffer)
|
|
296
|
-
return `ak_${pubKeyAddress}`
|
|
297
|
-
}
|
|
298
|
-
|
|
299
216
|
/**
|
|
300
217
|
* Check key pair for validity
|
|
301
218
|
*
|