@amadeus-protocol/sdk 1.0.5 → 1.0.7
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 +2 -2
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/contract-state.d.ts +59 -0
- package/dist/contract-state.d.ts.map +1 -0
- package/dist/contract-state.js +117 -0
- package/dist/contract-state.js.map +1 -0
- package/dist/contracts/abi-types.d.ts +87 -0
- package/dist/contracts/abi-types.d.ts.map +1 -0
- package/dist/contracts/abi-types.js +8 -0
- package/dist/contracts/abi-types.js.map +1 -0
- package/dist/contracts/coin.d.ts +42 -0
- package/dist/contracts/coin.d.ts.map +1 -0
- package/dist/contracts/coin.js +42 -0
- package/dist/contracts/coin.js.map +1 -0
- package/dist/contracts/contract-call.d.ts +49 -0
- package/dist/contracts/contract-call.d.ts.map +1 -0
- package/dist/contracts/contract-call.js +57 -0
- package/dist/contracts/contract-call.js.map +1 -0
- package/dist/contracts/contract.d.ts +113 -0
- package/dist/contracts/contract.d.ts.map +1 -0
- package/dist/contracts/contract.js +107 -0
- package/dist/contracts/contract.js.map +1 -0
- package/dist/contracts/index.d.ts +7 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +7 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/lockup/abi.d.ts +62 -0
- package/dist/contracts/lockup/abi.d.ts.map +1 -0
- package/dist/contracts/lockup/abi.js +77 -0
- package/dist/contracts/lockup/abi.js.map +1 -0
- package/dist/contracts/lockup/calls.d.ts +23 -0
- package/dist/contracts/lockup/calls.d.ts.map +1 -0
- package/dist/contracts/lockup/calls.js +25 -0
- package/dist/contracts/lockup/calls.js.map +1 -0
- package/dist/contracts/lockup/helpers.d.ts +24 -0
- package/dist/contracts/lockup/helpers.d.ts.map +1 -0
- package/dist/contracts/lockup/helpers.js +49 -0
- package/dist/contracts/lockup/helpers.js.map +1 -0
- package/dist/contracts/lockup/index.d.ts +6 -0
- package/dist/contracts/lockup/index.d.ts.map +1 -0
- package/dist/contracts/lockup/index.js +6 -0
- package/dist/contracts/lockup/index.js.map +1 -0
- package/dist/contracts/lockup/parsers.d.ts +20 -0
- package/dist/contracts/lockup/parsers.d.ts.map +1 -0
- package/dist/contracts/lockup/parsers.js +60 -0
- package/dist/contracts/lockup/parsers.js.map +1 -0
- package/dist/contracts/lockup/storage-keys.d.ts +15 -0
- package/dist/contracts/lockup/storage-keys.d.ts.map +1 -0
- package/dist/contracts/lockup/storage-keys.js +78 -0
- package/dist/contracts/lockup/storage-keys.js.map +1 -0
- package/dist/contracts/lockup/types.d.ts +90 -0
- package/dist/contracts/lockup/types.d.ts.map +1 -0
- package/dist/contracts/lockup/types.js +7 -0
- package/dist/contracts/lockup/types.js.map +1 -0
- package/dist/contracts/lockup-prime/abi.d.ts +348 -0
- package/dist/contracts/lockup-prime/abi.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/abi.js +420 -0
- package/dist/contracts/lockup-prime/abi.js.map +1 -0
- package/dist/contracts/lockup-prime/calls.d.ts +53 -0
- package/dist/contracts/lockup-prime/calls.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/calls.js +60 -0
- package/dist/contracts/lockup-prime/calls.js.map +1 -0
- package/dist/contracts/lockup-prime/helpers.d.ts +38 -0
- package/dist/contracts/lockup-prime/helpers.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/helpers.js +147 -0
- package/dist/contracts/lockup-prime/helpers.js.map +1 -0
- package/dist/contracts/lockup-prime/index.d.ts +6 -0
- package/dist/contracts/lockup-prime/index.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/index.js +6 -0
- package/dist/contracts/lockup-prime/index.js.map +1 -0
- package/dist/contracts/lockup-prime/parsers.d.ts +25 -0
- package/dist/contracts/lockup-prime/parsers.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/parsers.js +68 -0
- package/dist/contracts/lockup-prime/parsers.js.map +1 -0
- package/dist/contracts/lockup-prime/storage-keys.d.ts +25 -0
- package/dist/contracts/lockup-prime/storage-keys.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/storage-keys.js +92 -0
- package/dist/contracts/lockup-prime/storage-keys.js.map +1 -0
- package/dist/contracts/lockup-prime/types.d.ts +116 -0
- package/dist/contracts/lockup-prime/types.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/types.js +18 -0
- package/dist/contracts/lockup-prime/types.js.map +1 -0
- package/dist/crypto.js +1 -1
- package/dist/crypto.js.map +1 -1
- package/dist/formatters.d.ts +1 -1
- package/dist/formatters.d.ts.map +1 -1
- package/dist/formatters.js +2 -2
- package/dist/formatters.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/serialization.d.ts +22 -0
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +39 -2
- package/dist/serialization.js.map +1 -1
- package/dist/signing.d.ts +39 -0
- package/dist/signing.d.ts.map +1 -0
- package/dist/signing.js +84 -0
- package/dist/signing.js.map +1 -0
- package/dist/transaction-builder.d.ts +135 -194
- package/dist/transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder.js +237 -288
- package/dist/transaction-builder.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -37,6 +37,7 @@ export * from './types';
|
|
|
37
37
|
export * from './constants';
|
|
38
38
|
export * from './networks';
|
|
39
39
|
export * from './serialization';
|
|
40
|
+
export * from './contract-state';
|
|
40
41
|
export * from './crypto';
|
|
41
42
|
export * from './conversion';
|
|
42
43
|
export * from './encoding';
|
|
@@ -49,4 +50,5 @@ export * from './transaction-builder';
|
|
|
49
50
|
export * from './client';
|
|
50
51
|
export * from './api';
|
|
51
52
|
export * from './sdk';
|
|
53
|
+
export * from './contracts';
|
|
52
54
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,OAAO,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,OAAO,CAAA;AACrB,cAAc,aAAa,CAAA"}
|
package/dist/serialization.d.ts
CHANGED
|
@@ -39,4 +39,26 @@ export declare function encode(term: SerializableValue): Uint8Array;
|
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
41
|
export declare function decode(bytes: Uint8Array | number[]): DecodedValue;
|
|
42
|
+
/**
|
|
43
|
+
* Decode VecPack-encoded contract state into key-value pairs
|
|
44
|
+
*
|
|
45
|
+
* Contract state prefix queries return a VecPack-encoded map where both
|
|
46
|
+
* keys and values are binary (Uint8Array). This convenience function decodes
|
|
47
|
+
* the binary data and returns the entries as an array of tuples.
|
|
48
|
+
*
|
|
49
|
+
* @param bytes - VecPack-encoded bytes (Uint8Array or ArrayBuffer)
|
|
50
|
+
* @returns Array of [key, value] tuples
|
|
51
|
+
* @throws Error if the data is not a valid VecPack map or entries are not binary
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* const response = await fetch('/contract/state/prefix?prefix=...')
|
|
56
|
+
* const buffer = await response.arrayBuffer()
|
|
57
|
+
* const entries = decodeContractState(buffer)
|
|
58
|
+
* for (const [key, value] of entries) {
|
|
59
|
+
* console.log(key, value)
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function decodeContractState(bytes: Uint8Array | ArrayBuffer): Array<[Uint8Array, Uint8Array]>;
|
|
42
64
|
//# sourceMappingURL=serialization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAM9D;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAI1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,YAAY,CAQjE"}
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAM9D;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAI1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,YAAY,CAQjE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,UAAU,GAAG,WAAW,GAC7B,KAAK,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAiBjC"}
|
package/dist/serialization.js
CHANGED
|
@@ -57,6 +57,42 @@ export function decode(bytes) {
|
|
|
57
57
|
}
|
|
58
58
|
return value;
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Decode VecPack-encoded contract state into key-value pairs
|
|
62
|
+
*
|
|
63
|
+
* Contract state prefix queries return a VecPack-encoded map where both
|
|
64
|
+
* keys and values are binary (Uint8Array). This convenience function decodes
|
|
65
|
+
* the binary data and returns the entries as an array of tuples.
|
|
66
|
+
*
|
|
67
|
+
* @param bytes - VecPack-encoded bytes (Uint8Array or ArrayBuffer)
|
|
68
|
+
* @returns Array of [key, value] tuples
|
|
69
|
+
* @throws Error if the data is not a valid VecPack map or entries are not binary
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* const response = await fetch('/contract/state/prefix?prefix=...')
|
|
74
|
+
* const buffer = await response.arrayBuffer()
|
|
75
|
+
* const entries = decodeContractState(buffer)
|
|
76
|
+
* for (const [key, value] of entries) {
|
|
77
|
+
* console.log(key, value)
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export function decodeContractState(bytes) {
|
|
82
|
+
const data = bytes instanceof ArrayBuffer ? new Uint8Array(bytes) : bytes;
|
|
83
|
+
const decoded = decode(data);
|
|
84
|
+
if (!(decoded instanceof Map)) {
|
|
85
|
+
throw new Error(`Expected MAP type, got ${typeof decoded}`);
|
|
86
|
+
}
|
|
87
|
+
const result = [];
|
|
88
|
+
for (const [key, value] of decoded.entries()) {
|
|
89
|
+
if (!(key instanceof Uint8Array) || !(value instanceof Uint8Array)) {
|
|
90
|
+
throw new Error('Expected Uint8Array for key and value');
|
|
91
|
+
}
|
|
92
|
+
result.push([key, value]);
|
|
93
|
+
}
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
60
96
|
/*
|
|
61
97
|
* Helper functions for encoding and decoding
|
|
62
98
|
*/
|
|
@@ -118,8 +154,6 @@ function decodeVarint(data, ref) {
|
|
|
118
154
|
for (let i = 0; i < length; i++) {
|
|
119
155
|
mag = (mag << 8n) | BigInt(data[ref.offset++]);
|
|
120
156
|
}
|
|
121
|
-
if (mag > BigInt(Number.MAX_SAFE_INTEGER))
|
|
122
|
-
throw new Error('length_overflow');
|
|
123
157
|
if (signBit === 1) {
|
|
124
158
|
return -mag;
|
|
125
159
|
}
|
|
@@ -132,6 +166,9 @@ function decodeVarintGteZero(data, ref) {
|
|
|
132
166
|
if (n < 0n) {
|
|
133
167
|
throw new Error('length_is_negative');
|
|
134
168
|
}
|
|
169
|
+
if (n > BigInt(Number.MAX_SAFE_INTEGER)) {
|
|
170
|
+
throw new Error('length_overflow');
|
|
171
|
+
}
|
|
135
172
|
return Number(n);
|
|
136
173
|
}
|
|
137
174
|
function encodeTerm(value, out) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transaction Signing Primitives
|
|
3
|
+
*
|
|
4
|
+
* Stateless, standalone functions for building and signing Amadeus transactions.
|
|
5
|
+
* This module is the source of truth for the signing pipeline — both
|
|
6
|
+
* TransactionBuilder and createContract().connect() delegate to these functions.
|
|
7
|
+
*/
|
|
8
|
+
import type { PrivKey } from '@noble/curves/abstract/utils';
|
|
9
|
+
import type { BuildTransactionResult, SerializableValue, UnsignedTransactionWithHash } from './types';
|
|
10
|
+
import type { ContractCall } from './contracts/contract-call';
|
|
11
|
+
/**
|
|
12
|
+
* Normalize a signer secret key to PrivKey format.
|
|
13
|
+
* Accepts Base58 strings, raw Uint8Array, or already-derived PrivKey.
|
|
14
|
+
*/
|
|
15
|
+
export declare function normalizeSignerSk(signerSk: PrivKey | string | Uint8Array): PrivKey;
|
|
16
|
+
/**
|
|
17
|
+
* Build an unsigned transaction from raw contract/method/args.
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildUnsigned(signerPk: Uint8Array, contract: string, method: string, args: SerializableValue[]): UnsignedTransactionWithHash;
|
|
20
|
+
/**
|
|
21
|
+
* Sign an already-built unsigned transaction.
|
|
22
|
+
*/
|
|
23
|
+
export declare function signUnsigned(unsignedTx: UnsignedTransactionWithHash, signerSk: PrivKey | string | Uint8Array): BuildTransactionResult;
|
|
24
|
+
/**
|
|
25
|
+
* Build and sign a transaction from raw contract/method/args.
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildAndSignRaw(signerPk: Uint8Array, signerSk: PrivKey | string | Uint8Array, contract: string, method: string, args: SerializableValue[]): BuildTransactionResult;
|
|
28
|
+
/**
|
|
29
|
+
* Build an unsigned transaction from a ContractCall.
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildUnsignedFromCall(signerPk: Uint8Array, call: ContractCall): UnsignedTransactionWithHash;
|
|
32
|
+
/**
|
|
33
|
+
* Highest-level: derive keys from a Base58 private key and sign a ContractCall.
|
|
34
|
+
*
|
|
35
|
+
* This is the core function behind `TransactionBuilder.signCall()` and
|
|
36
|
+
* `createContract(ABI).connect(key).method()`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function signContractCall(senderPrivkey: string, call: ContractCall): BuildTransactionResult;
|
|
39
|
+
//# sourceMappingURL=signing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../src/signing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAO3D,OAAO,KAAK,EACX,sBAAsB,EACtB,iBAAiB,EAGjB,2BAA2B,EAC3B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAU7D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAMlF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,iBAAiB,EAAE,GACvB,2BAA2B,CAe7B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC3B,UAAU,EAAE,2BAA2B,EACvC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GACrC,sBAAsB,CAOxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,EACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,iBAAiB,EAAE,GACvB,sBAAsB,CAGxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,YAAY,GAChB,2BAA2B,CAE7B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,YAAY,GAChB,sBAAsB,CAIxB"}
|
package/dist/signing.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transaction Signing Primitives
|
|
3
|
+
*
|
|
4
|
+
* Stateless, standalone functions for building and signing Amadeus transactions.
|
|
5
|
+
* This module is the source of truth for the signing pipeline — both
|
|
6
|
+
* TransactionBuilder and createContract().connect() delegate to these functions.
|
|
7
|
+
*/
|
|
8
|
+
import { bls12_381 as bls } from '@noble/curves/bls12-381';
|
|
9
|
+
import { sha256 } from '@noble/hashes/sha2';
|
|
10
|
+
import { deriveSkAndSeed64FromBase58Seed, getPublicKey } from './crypto';
|
|
11
|
+
import { toBase58 } from './encoding';
|
|
12
|
+
import { encode } from './serialization';
|
|
13
|
+
/** Domain Separation Tag for transaction signatures */
|
|
14
|
+
const TX_DST = 'AMADEUS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_TX_';
|
|
15
|
+
/** Generate a transaction nonce based on current timestamp */
|
|
16
|
+
function generateNonce() {
|
|
17
|
+
return BigInt(Date.now()) * 1000000n;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Normalize a signer secret key to PrivKey format.
|
|
21
|
+
* Accepts Base58 strings, raw Uint8Array, or already-derived PrivKey.
|
|
22
|
+
*/
|
|
23
|
+
export function normalizeSignerSk(signerSk) {
|
|
24
|
+
if (typeof signerSk === 'string') {
|
|
25
|
+
const { sk } = deriveSkAndSeed64FromBase58Seed(signerSk);
|
|
26
|
+
return sk;
|
|
27
|
+
}
|
|
28
|
+
return signerSk;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Build an unsigned transaction from raw contract/method/args.
|
|
32
|
+
*/
|
|
33
|
+
export function buildUnsigned(signerPk, contract, method, args) {
|
|
34
|
+
const action = {
|
|
35
|
+
op: 'call',
|
|
36
|
+
contract,
|
|
37
|
+
function: method,
|
|
38
|
+
args
|
|
39
|
+
};
|
|
40
|
+
const tx = {
|
|
41
|
+
signer: signerPk,
|
|
42
|
+
nonce: generateNonce(),
|
|
43
|
+
action
|
|
44
|
+
};
|
|
45
|
+
const txEncoded = encode(tx);
|
|
46
|
+
const hash = sha256(txEncoded);
|
|
47
|
+
return { tx, hash };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Sign an already-built unsigned transaction.
|
|
51
|
+
*/
|
|
52
|
+
export function signUnsigned(unsignedTx, signerSk) {
|
|
53
|
+
const sk = normalizeSignerSk(signerSk);
|
|
54
|
+
const signature = bls.sign(unsignedTx.hash, sk, { DST: TX_DST });
|
|
55
|
+
return {
|
|
56
|
+
txHash: toBase58(unsignedTx.hash),
|
|
57
|
+
txPacked: encode({ tx: unsignedTx.tx, hash: unsignedTx.hash, signature })
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Build and sign a transaction from raw contract/method/args.
|
|
62
|
+
*/
|
|
63
|
+
export function buildAndSignRaw(signerPk, signerSk, contract, method, args) {
|
|
64
|
+
const unsignedTx = buildUnsigned(signerPk, contract, method, args);
|
|
65
|
+
return signUnsigned(unsignedTx, signerSk);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Build an unsigned transaction from a ContractCall.
|
|
69
|
+
*/
|
|
70
|
+
export function buildUnsignedFromCall(signerPk, call) {
|
|
71
|
+
return buildUnsigned(signerPk, call.contract, call.method, call.args);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Highest-level: derive keys from a Base58 private key and sign a ContractCall.
|
|
75
|
+
*
|
|
76
|
+
* This is the core function behind `TransactionBuilder.signCall()` and
|
|
77
|
+
* `createContract(ABI).connect(key).method()`.
|
|
78
|
+
*/
|
|
79
|
+
export function signContractCall(senderPrivkey, call) {
|
|
80
|
+
const { seed64, sk } = deriveSkAndSeed64FromBase58Seed(senderPrivkey);
|
|
81
|
+
const signerPubKey = getPublicKey(seed64);
|
|
82
|
+
return buildAndSignRaw(signerPubKey, sk, call.contract, call.method, call.args);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=signing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../src/signing.ts"],"names":[],"mappings":"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"}
|