@sequence0/sdk 2.0.1 → 2.1.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 +10 -10
- package/dist/chains/casper.d.ts +74 -0
- package/dist/chains/casper.d.ts.map +1 -0
- package/dist/chains/casper.js +512 -0
- package/dist/chains/casper.js.map +1 -0
- package/dist/chains/cosmos.d.ts +22 -0
- package/dist/chains/cosmos.d.ts.map +1 -1
- package/dist/chains/cosmos.js +113 -12
- package/dist/chains/cosmos.js.map +1 -1
- package/dist/chains/ethereum.d.ts.map +1 -1
- package/dist/chains/ethereum.js +14 -2
- package/dist/chains/ethereum.js.map +1 -1
- package/dist/chains/flow.d.ts +57 -0
- package/dist/chains/flow.d.ts.map +1 -0
- package/dist/chains/flow.js +435 -0
- package/dist/chains/flow.js.map +1 -0
- package/dist/chains/icp.d.ts.map +1 -1
- package/dist/chains/icp.js +483 -67
- package/dist/chains/icp.js.map +1 -1
- package/dist/chains/iota.d.ts +80 -0
- package/dist/chains/iota.d.ts.map +1 -0
- package/dist/chains/iota.js +502 -0
- package/dist/chains/iota.js.map +1 -0
- package/dist/chains/kadena.d.ts +81 -0
- package/dist/chains/kadena.d.ts.map +1 -0
- package/dist/chains/kadena.js +356 -0
- package/dist/chains/kadena.js.map +1 -0
- package/dist/chains/near.d.ts +4 -1
- package/dist/chains/near.d.ts.map +1 -1
- package/dist/chains/near.js +58 -15
- package/dist/chains/near.js.map +1 -1
- package/dist/chains/nervos.d.ts +148 -0
- package/dist/chains/nervos.d.ts.map +1 -0
- package/dist/chains/nervos.js +913 -0
- package/dist/chains/nervos.js.map +1 -0
- package/dist/chains/radix.d.ts +81 -0
- package/dist/chains/radix.d.ts.map +1 -0
- package/dist/chains/radix.js +289 -0
- package/dist/chains/radix.js.map +1 -0
- package/dist/chains/solana.d.ts +4 -0
- package/dist/chains/solana.d.ts.map +1 -1
- package/dist/chains/solana.js +47 -13
- package/dist/chains/solana.js.map +1 -1
- package/dist/chains/stacks.d.ts +113 -0
- package/dist/chains/stacks.d.ts.map +1 -0
- package/dist/chains/stacks.js +576 -0
- package/dist/chains/stacks.js.map +1 -0
- package/dist/chains/sui.d.ts +11 -0
- package/dist/chains/sui.d.ts.map +1 -1
- package/dist/chains/sui.js +49 -8
- package/dist/chains/sui.js.map +1 -1
- package/dist/core/client.js +1 -1
- package/dist/core/client.js.map +1 -1
- package/dist/core/solvency.d.ts +1 -1
- package/dist/core/solvency.js +1 -1
- package/dist/core/types.d.ts +94 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/universal-account.d.ts +1 -1
- package/dist/core/universal-account.js +1 -1
- package/dist/core/witness.d.ts +1 -1
- package/dist/core/witness.js +1 -1
- package/dist/settlement/settlement.d.ts +1 -1
- package/dist/settlement/settlement.js +1 -1
- package/dist/utils/discovery.d.ts.map +1 -1
- package/dist/utils/discovery.js +19 -2
- package/dist/utils/discovery.js.map +1 -1
- package/dist/utils/http.d.ts +1 -1
- package/dist/utils/http.js +1 -1
- package/dist/wallet/wallet.d.ts.map +1 -1
- package/dist/wallet/wallet.js +45 -0
- package/dist/wallet/wallet.js.map +1 -1
- package/package.json +1 -1
package/dist/chains/icp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icp.js","sourceRoot":"","sources":["../../src/chains/icp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"icp.js","sourceRoot":"","sources":["../../src/chains/icp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IOTA (Stardust) Chain Adapter
|
|
3
|
+
*
|
|
4
|
+
* Builds IOTA Stardust transactions (BasicOutput transfers), attaches
|
|
5
|
+
* Ed25519 signatures from the FROST threshold signing network, and
|
|
6
|
+
* broadcasts via the IOTA Node REST API.
|
|
7
|
+
*
|
|
8
|
+
* IOTA Stardust uses Ed25519 for signing. The signing payload is the
|
|
9
|
+
* Blake2b-256 hash of the serialized transaction essence.
|
|
10
|
+
*
|
|
11
|
+
* No external dependencies — uses native fetch and crypto.
|
|
12
|
+
*
|
|
13
|
+
* Address format: iota1... (bech32, Stardust) or raw ed25519 address bytes.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { IotaAdapter } from '@sequence0/sdk';
|
|
18
|
+
*
|
|
19
|
+
* const iota = new IotaAdapter('mainnet');
|
|
20
|
+
*
|
|
21
|
+
* const unsignedTx = await iota.buildTransaction(
|
|
22
|
+
* { to: 'iota1qp...', amount: '1000000', publicKey: 'abc...def' },
|
|
23
|
+
* 'iota1qp...'
|
|
24
|
+
* );
|
|
25
|
+
*
|
|
26
|
+
* // ... sign via FROST ed25519 ...
|
|
27
|
+
* const signedTx = await iota.attachSignature(unsignedTx, signatureHex);
|
|
28
|
+
* const blockId = await iota.broadcast(signedTx);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import { ChainAdapter, IotaTransaction } from '../core/types';
|
|
32
|
+
export declare class IotaAdapter implements ChainAdapter {
|
|
33
|
+
private nodeUrl;
|
|
34
|
+
private network;
|
|
35
|
+
private hrp;
|
|
36
|
+
constructor(network?: 'mainnet' | 'testnet', nodeUrl?: string);
|
|
37
|
+
getRpcUrl(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Build an unsigned IOTA Stardust transaction for a BasicOutput transfer.
|
|
40
|
+
*
|
|
41
|
+
* Queries the indexer for spendable outputs, constructs a transaction
|
|
42
|
+
* essence with inputs and outputs, and returns the serialized essence
|
|
43
|
+
* along with its Blake2b-256 hash as the signing payload.
|
|
44
|
+
*/
|
|
45
|
+
buildTransaction(tx: IotaTransaction, fromAddress: string): Promise<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Extract the transaction essence hash (Blake2b-256) as the
|
|
48
|
+
* Ed25519 signing payload.
|
|
49
|
+
*/
|
|
50
|
+
getSigningPayload(unsignedTx: string): string;
|
|
51
|
+
/**
|
|
52
|
+
* Attach an Ed25519 signature to the IOTA transaction.
|
|
53
|
+
*
|
|
54
|
+
* The signature is placed into an Ed25519 signature unlock block.
|
|
55
|
+
*/
|
|
56
|
+
attachSignature(unsignedTx: string, signature: string): Promise<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Broadcast a signed IOTA transaction by submitting a block.
|
|
59
|
+
*
|
|
60
|
+
* Constructs a block containing the transaction payload with
|
|
61
|
+
* Ed25519 signature unlock blocks, then POSTs it to the node.
|
|
62
|
+
*/
|
|
63
|
+
broadcast(signedTx: string): Promise<string>;
|
|
64
|
+
/**
|
|
65
|
+
* Get balance in base units for an IOTA address.
|
|
66
|
+
*
|
|
67
|
+
* Queries the indexer for all basic outputs owned by the address
|
|
68
|
+
* and sums their amounts.
|
|
69
|
+
*/
|
|
70
|
+
getBalance(address: string): Promise<string>;
|
|
71
|
+
/**
|
|
72
|
+
* Get node info (protocol parameters, network name, etc.).
|
|
73
|
+
*/
|
|
74
|
+
getNodeInfo(): Promise<Record<string, unknown> | null>;
|
|
75
|
+
}
|
|
76
|
+
/** Create a mainnet IOTA adapter */
|
|
77
|
+
export declare function createIotaAdapter(nodeUrl?: string): IotaAdapter;
|
|
78
|
+
/** Create a testnet IOTA adapter */
|
|
79
|
+
export declare function createIotaTestnetAdapter(nodeUrl?: string): IotaAdapter;
|
|
80
|
+
//# sourceMappingURL=iota.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iota.d.ts","sourceRoot":"","sources":["../../src/chains/iota.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA8J9D,qBAAa,WAAY,YAAW,YAAY;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAS;gBAER,OAAO,GAAE,SAAS,GAAG,SAAqB,EAAE,OAAO,CAAC,EAAE,MAAM;IAMxE,SAAS,IAAI,MAAM;IAInB;;;;;;OAMG;IACG,gBAAgB,CAAC,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0KjF;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS7C;;;;OAIG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB7E;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiFlD;;;;;OAKG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkClD;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAS/D;AAED,oCAAoC;AACpC,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAE/D;AAED,oCAAoC;AACpC,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAEtE"}
|
|
@@ -0,0 +1,502 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* IOTA (Stardust) Chain Adapter
|
|
4
|
+
*
|
|
5
|
+
* Builds IOTA Stardust transactions (BasicOutput transfers), attaches
|
|
6
|
+
* Ed25519 signatures from the FROST threshold signing network, and
|
|
7
|
+
* broadcasts via the IOTA Node REST API.
|
|
8
|
+
*
|
|
9
|
+
* IOTA Stardust uses Ed25519 for signing. The signing payload is the
|
|
10
|
+
* Blake2b-256 hash of the serialized transaction essence.
|
|
11
|
+
*
|
|
12
|
+
* No external dependencies — uses native fetch and crypto.
|
|
13
|
+
*
|
|
14
|
+
* Address format: iota1... (bech32, Stardust) or raw ed25519 address bytes.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { IotaAdapter } from '@sequence0/sdk';
|
|
19
|
+
*
|
|
20
|
+
* const iota = new IotaAdapter('mainnet');
|
|
21
|
+
*
|
|
22
|
+
* const unsignedTx = await iota.buildTransaction(
|
|
23
|
+
* { to: 'iota1qp...', amount: '1000000', publicKey: 'abc...def' },
|
|
24
|
+
* 'iota1qp...'
|
|
25
|
+
* );
|
|
26
|
+
*
|
|
27
|
+
* // ... sign via FROST ed25519 ...
|
|
28
|
+
* const signedTx = await iota.attachSignature(unsignedTx, signatureHex);
|
|
29
|
+
* const blockId = await iota.broadcast(signedTx);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.IotaAdapter = void 0;
|
|
34
|
+
exports.createIotaAdapter = createIotaAdapter;
|
|
35
|
+
exports.createIotaTestnetAdapter = createIotaTestnetAdapter;
|
|
36
|
+
const crypto_1 = require("crypto");
|
|
37
|
+
const errors_1 = require("../utils/errors");
|
|
38
|
+
// ── Network Configuration ──
|
|
39
|
+
const DEFAULT_NODE_URLS = {
|
|
40
|
+
'mainnet': 'https://api.stardust-mainnet.iotaledger.net',
|
|
41
|
+
'testnet': 'https://api.testnet.shimmer.network',
|
|
42
|
+
};
|
|
43
|
+
const BECH32_HRPS = {
|
|
44
|
+
'mainnet': 'iota',
|
|
45
|
+
'testnet': 'rms',
|
|
46
|
+
};
|
|
47
|
+
/** Protocol parameters endpoint */
|
|
48
|
+
const INFO_PATH = '/api/core/v2/info';
|
|
49
|
+
// ── Bech32 helpers (subset needed for IOTA addresses) ──
|
|
50
|
+
const BECH32_CHARSET = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l';
|
|
51
|
+
function bech32Polymod(values) {
|
|
52
|
+
const GEN = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];
|
|
53
|
+
let chk = 1;
|
|
54
|
+
for (const v of values) {
|
|
55
|
+
const b = chk >> 25;
|
|
56
|
+
chk = ((chk & 0x1ffffff) << 5) ^ v;
|
|
57
|
+
for (let i = 0; i < 5; i++) {
|
|
58
|
+
if ((b >> i) & 1)
|
|
59
|
+
chk ^= GEN[i];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return chk;
|
|
63
|
+
}
|
|
64
|
+
function bech32HrpExpand(hrp) {
|
|
65
|
+
const ret = [];
|
|
66
|
+
for (let i = 0; i < hrp.length; i++)
|
|
67
|
+
ret.push(hrp.charCodeAt(i) >> 5);
|
|
68
|
+
ret.push(0);
|
|
69
|
+
for (let i = 0; i < hrp.length; i++)
|
|
70
|
+
ret.push(hrp.charCodeAt(i) & 31);
|
|
71
|
+
return ret;
|
|
72
|
+
}
|
|
73
|
+
function bech32Decode(str) {
|
|
74
|
+
const pos = str.lastIndexOf('1');
|
|
75
|
+
if (pos < 1 || pos + 7 > str.length)
|
|
76
|
+
return null;
|
|
77
|
+
const hrp = str.slice(0, pos).toLowerCase();
|
|
78
|
+
const dataChars = str.slice(pos + 1).toLowerCase();
|
|
79
|
+
const data = [];
|
|
80
|
+
for (const c of dataChars) {
|
|
81
|
+
const idx = BECH32_CHARSET.indexOf(c);
|
|
82
|
+
if (idx === -1)
|
|
83
|
+
return null;
|
|
84
|
+
data.push(idx);
|
|
85
|
+
}
|
|
86
|
+
if (bech32Polymod([...bech32HrpExpand(hrp), ...data]) !== 1)
|
|
87
|
+
return null;
|
|
88
|
+
return { hrp, data: data.slice(0, -6) };
|
|
89
|
+
}
|
|
90
|
+
function bech32Encode(hrp, data5bit) {
|
|
91
|
+
const values = [...bech32HrpExpand(hrp), ...data5bit];
|
|
92
|
+
const polymod = bech32Polymod([...values, 0, 0, 0, 0, 0, 0]) ^ 1;
|
|
93
|
+
const checksum = [];
|
|
94
|
+
for (let i = 0; i < 6; i++)
|
|
95
|
+
checksum.push((polymod >> (5 * (5 - i))) & 31);
|
|
96
|
+
return hrp + '1' + [...data5bit, ...checksum].map((d) => BECH32_CHARSET[d]).join('');
|
|
97
|
+
}
|
|
98
|
+
function convertBits(data, fromBits, toBits, pad) {
|
|
99
|
+
let acc = 0;
|
|
100
|
+
let bits = 0;
|
|
101
|
+
const ret = [];
|
|
102
|
+
const maxv = (1 << toBits) - 1;
|
|
103
|
+
for (const value of data) {
|
|
104
|
+
acc = (acc << fromBits) | value;
|
|
105
|
+
bits += fromBits;
|
|
106
|
+
while (bits >= toBits) {
|
|
107
|
+
bits -= toBits;
|
|
108
|
+
ret.push((acc >> bits) & maxv);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (pad && bits > 0) {
|
|
112
|
+
ret.push((acc << (toBits - bits)) & maxv);
|
|
113
|
+
}
|
|
114
|
+
return ret;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Decode an IOTA bech32 address to raw bytes (type byte + ed25519 pubkey hash).
|
|
118
|
+
*/
|
|
119
|
+
function decodeBech32Address(address) {
|
|
120
|
+
const decoded = bech32Decode(address);
|
|
121
|
+
if (!decoded)
|
|
122
|
+
return null;
|
|
123
|
+
const bytes = convertBits(decoded.data, 5, 8, false);
|
|
124
|
+
return new Uint8Array(bytes);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Encode raw address bytes to bech32 IOTA address.
|
|
128
|
+
*/
|
|
129
|
+
function encodeBech32Address(hrp, addressBytes) {
|
|
130
|
+
const data5bit = convertBits(Array.from(addressBytes), 8, 5, true);
|
|
131
|
+
return bech32Encode(hrp, data5bit);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Derive an IOTA Ed25519 address from a public key.
|
|
135
|
+
* Address type 0x00 (Ed25519) + Blake2b-256(pubkey)
|
|
136
|
+
*/
|
|
137
|
+
function ed25519AddressFromPubKey(pubKeyHex) {
|
|
138
|
+
const pubKey = Buffer.from(pubKeyHex, 'hex');
|
|
139
|
+
const hash = (0, crypto_1.createHash)('blake2b256').update(pubKey).digest();
|
|
140
|
+
const address = new Uint8Array(1 + hash.length);
|
|
141
|
+
address[0] = 0x00; // Ed25519 address type
|
|
142
|
+
address.set(hash, 1);
|
|
143
|
+
return address;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Blake2b-256 hash.
|
|
147
|
+
*/
|
|
148
|
+
function blake2b256(data) {
|
|
149
|
+
return (0, crypto_1.createHash)('blake2b256').update(data).digest();
|
|
150
|
+
}
|
|
151
|
+
// ── Serialization helpers for Stardust transaction essence ──
|
|
152
|
+
function writeU8(buf, value) {
|
|
153
|
+
buf.push(value & 0xff);
|
|
154
|
+
}
|
|
155
|
+
function writeU16LE(buf, value) {
|
|
156
|
+
buf.push(value & 0xff);
|
|
157
|
+
buf.push((value >> 8) & 0xff);
|
|
158
|
+
}
|
|
159
|
+
function writeU32LE(buf, value) {
|
|
160
|
+
buf.push(value & 0xff);
|
|
161
|
+
buf.push((value >> 8) & 0xff);
|
|
162
|
+
buf.push((value >> 16) & 0xff);
|
|
163
|
+
buf.push((value >> 24) & 0xff);
|
|
164
|
+
}
|
|
165
|
+
function writeU64LE(buf, value) {
|
|
166
|
+
for (let i = 0; i < 8; i++) {
|
|
167
|
+
buf.push(Number((value >> BigInt(i * 8)) & 0xffn));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
function writeBytes(buf, data) {
|
|
171
|
+
for (const b of data)
|
|
172
|
+
buf.push(b);
|
|
173
|
+
}
|
|
174
|
+
function writePrefixedBytes(buf, data) {
|
|
175
|
+
writeU16LE(buf, data.length);
|
|
176
|
+
writeBytes(buf, data);
|
|
177
|
+
}
|
|
178
|
+
// ── Adapter ──
|
|
179
|
+
class IotaAdapter {
|
|
180
|
+
constructor(network = 'mainnet', nodeUrl) {
|
|
181
|
+
this.network = network;
|
|
182
|
+
this.nodeUrl = nodeUrl || DEFAULT_NODE_URLS[network];
|
|
183
|
+
this.hrp = BECH32_HRPS[network];
|
|
184
|
+
}
|
|
185
|
+
getRpcUrl() {
|
|
186
|
+
return this.nodeUrl;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Build an unsigned IOTA Stardust transaction for a BasicOutput transfer.
|
|
190
|
+
*
|
|
191
|
+
* Queries the indexer for spendable outputs, constructs a transaction
|
|
192
|
+
* essence with inputs and outputs, and returns the serialized essence
|
|
193
|
+
* along with its Blake2b-256 hash as the signing payload.
|
|
194
|
+
*/
|
|
195
|
+
async buildTransaction(tx, fromAddress) {
|
|
196
|
+
try {
|
|
197
|
+
const publicKey = tx.publicKey;
|
|
198
|
+
if (!publicKey || publicKey.length !== 64) {
|
|
199
|
+
throw new Error('IOTA requires a 32-byte ed25519 public key hex in tx.publicKey');
|
|
200
|
+
}
|
|
201
|
+
const amount = BigInt(tx.amount);
|
|
202
|
+
if (amount <= 0n) {
|
|
203
|
+
throw new Error('Amount must be positive');
|
|
204
|
+
}
|
|
205
|
+
// Resolve sender address bytes
|
|
206
|
+
const senderAddressBytes = ed25519AddressFromPubKey(publicKey);
|
|
207
|
+
const senderBech32 = encodeBech32Address(this.hrp, senderAddressBytes);
|
|
208
|
+
// Resolve recipient address bytes
|
|
209
|
+
let recipientAddressBytes;
|
|
210
|
+
if (tx.to.startsWith(this.hrp + '1') || tx.to.startsWith('iota1') || tx.to.startsWith('rms1')) {
|
|
211
|
+
const decoded = decodeBech32Address(tx.to);
|
|
212
|
+
if (!decoded)
|
|
213
|
+
throw new Error(`Invalid bech32 address: ${tx.to}`);
|
|
214
|
+
recipientAddressBytes = decoded;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
// Assume raw hex ed25519 public key
|
|
218
|
+
recipientAddressBytes = ed25519AddressFromPubKey(tx.to);
|
|
219
|
+
}
|
|
220
|
+
// Query spendable basic outputs for the sender
|
|
221
|
+
const indexerUrl = `${this.nodeUrl}/api/indexer/v2/outputs/basic?address=${senderBech32}&hasStorageDepositReturn=false&hasExpiration=false&hasTimelock=false`;
|
|
222
|
+
const indexerResponse = await fetch(indexerUrl);
|
|
223
|
+
if (!indexerResponse.ok) {
|
|
224
|
+
throw new Error(`IOTA indexer returned HTTP ${indexerResponse.status}`);
|
|
225
|
+
}
|
|
226
|
+
const indexerData = await indexerResponse.json();
|
|
227
|
+
const outputIds = indexerData.items || [];
|
|
228
|
+
if (outputIds.length === 0) {
|
|
229
|
+
throw new Error('No spendable outputs found for sender address');
|
|
230
|
+
}
|
|
231
|
+
// Fetch output details and collect inputs
|
|
232
|
+
let totalInput = 0n;
|
|
233
|
+
const inputs = [];
|
|
234
|
+
const inputOutputs = [];
|
|
235
|
+
for (const outputId of outputIds) {
|
|
236
|
+
if (totalInput >= amount)
|
|
237
|
+
break;
|
|
238
|
+
const outputUrl = `${this.nodeUrl}/api/core/v2/outputs/${outputId}`;
|
|
239
|
+
const outputResponse = await fetch(outputUrl);
|
|
240
|
+
if (!outputResponse.ok)
|
|
241
|
+
continue;
|
|
242
|
+
const outputData = await outputResponse.json();
|
|
243
|
+
const outputAmount = BigInt(outputData.output?.amount || '0');
|
|
244
|
+
if (outputAmount === 0n)
|
|
245
|
+
continue;
|
|
246
|
+
totalInput += outputAmount;
|
|
247
|
+
inputs.push({
|
|
248
|
+
transactionId: outputData.metadata?.transactionId || outputId.slice(0, 64),
|
|
249
|
+
outputIndex: outputData.metadata?.outputIndex ?? parseInt(outputId.slice(64), 16),
|
|
250
|
+
});
|
|
251
|
+
inputOutputs.push({ outputId, output: outputData.output || {} });
|
|
252
|
+
}
|
|
253
|
+
if (totalInput < amount) {
|
|
254
|
+
throw new Error(`Insufficient balance: have ${totalInput}, need ${amount}`);
|
|
255
|
+
}
|
|
256
|
+
// Build the transaction essence
|
|
257
|
+
const essenceBytes = [];
|
|
258
|
+
// Transaction Essence type (1 = Regular)
|
|
259
|
+
writeU8(essenceBytes, 1);
|
|
260
|
+
// Network ID (u64) — use 0 for auto
|
|
261
|
+
writeU64LE(essenceBytes, 0n);
|
|
262
|
+
// Inputs count (u16)
|
|
263
|
+
writeU16LE(essenceBytes, inputs.length);
|
|
264
|
+
// Inputs
|
|
265
|
+
for (const input of inputs) {
|
|
266
|
+
// Input type: UTXO (0)
|
|
267
|
+
writeU8(essenceBytes, 0);
|
|
268
|
+
// Transaction ID (32 bytes)
|
|
269
|
+
writeBytes(essenceBytes, Buffer.from(input.transactionId, 'hex'));
|
|
270
|
+
// Output Index (u16)
|
|
271
|
+
writeU16LE(essenceBytes, input.outputIndex);
|
|
272
|
+
}
|
|
273
|
+
// Inputs Commitment (Blake2b-256 of sorted serialized consumed outputs)
|
|
274
|
+
// Simplified: hash of concatenated output IDs
|
|
275
|
+
const commitmentData = [];
|
|
276
|
+
for (const io of inputOutputs) {
|
|
277
|
+
writeBytes(commitmentData, Buffer.from(io.outputId, 'hex'));
|
|
278
|
+
}
|
|
279
|
+
const inputsCommitment = blake2b256(new Uint8Array(commitmentData));
|
|
280
|
+
writeBytes(essenceBytes, inputsCommitment);
|
|
281
|
+
// Outputs
|
|
282
|
+
const change = totalInput - amount;
|
|
283
|
+
const outputCount = change > 0n ? 2 : 1;
|
|
284
|
+
writeU16LE(essenceBytes, outputCount);
|
|
285
|
+
// Output 1: recipient BasicOutput
|
|
286
|
+
// Output type: BasicOutput (3)
|
|
287
|
+
writeU8(essenceBytes, 3);
|
|
288
|
+
// Amount (u64)
|
|
289
|
+
writeU64LE(essenceBytes, amount);
|
|
290
|
+
// Native Tokens count (u8)
|
|
291
|
+
writeU8(essenceBytes, 0);
|
|
292
|
+
// Unlock Conditions count (u8)
|
|
293
|
+
writeU8(essenceBytes, 1);
|
|
294
|
+
// Address Unlock Condition (type 0)
|
|
295
|
+
writeU8(essenceBytes, 0);
|
|
296
|
+
// Address (type + data)
|
|
297
|
+
writeBytes(essenceBytes, recipientAddressBytes);
|
|
298
|
+
// Feature count (u8)
|
|
299
|
+
writeU8(essenceBytes, 0);
|
|
300
|
+
// Output 2: change (if any)
|
|
301
|
+
if (change > 0n) {
|
|
302
|
+
writeU8(essenceBytes, 3);
|
|
303
|
+
writeU64LE(essenceBytes, change);
|
|
304
|
+
writeU8(essenceBytes, 0); // no native tokens
|
|
305
|
+
writeU8(essenceBytes, 1); // 1 unlock condition
|
|
306
|
+
writeU8(essenceBytes, 0); // address unlock condition
|
|
307
|
+
writeBytes(essenceBytes, senderAddressBytes);
|
|
308
|
+
writeU8(essenceBytes, 0); // no features
|
|
309
|
+
}
|
|
310
|
+
// Optional Payload (none)
|
|
311
|
+
writeU32LE(essenceBytes, 0);
|
|
312
|
+
const essenceArray = new Uint8Array(essenceBytes);
|
|
313
|
+
const essenceHash = blake2b256(essenceArray);
|
|
314
|
+
const payload = {
|
|
315
|
+
signingHash: essenceHash.toString('hex'),
|
|
316
|
+
essence: Buffer.from(essenceArray).toString('hex'),
|
|
317
|
+
inputs: inputs.map((inp, idx) => ({
|
|
318
|
+
...inp,
|
|
319
|
+
outputId: inputOutputs[idx].outputId,
|
|
320
|
+
})),
|
|
321
|
+
publicKey,
|
|
322
|
+
fromAddress,
|
|
323
|
+
toAddress: tx.to,
|
|
324
|
+
amount: tx.amount,
|
|
325
|
+
inputCount: inputs.length,
|
|
326
|
+
};
|
|
327
|
+
return Buffer.from(JSON.stringify(payload)).toString('hex');
|
|
328
|
+
}
|
|
329
|
+
catch (e) {
|
|
330
|
+
if (e instanceof errors_1.ChainError)
|
|
331
|
+
throw e;
|
|
332
|
+
throw new errors_1.ChainError(`Failed to build IOTA transaction: ${e.message}`, 'iota');
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Extract the transaction essence hash (Blake2b-256) as the
|
|
337
|
+
* Ed25519 signing payload.
|
|
338
|
+
*/
|
|
339
|
+
getSigningPayload(unsignedTx) {
|
|
340
|
+
try {
|
|
341
|
+
const payload = JSON.parse(Buffer.from(unsignedTx, 'hex').toString());
|
|
342
|
+
return payload.signingHash;
|
|
343
|
+
}
|
|
344
|
+
catch {
|
|
345
|
+
return unsignedTx;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Attach an Ed25519 signature to the IOTA transaction.
|
|
350
|
+
*
|
|
351
|
+
* The signature is placed into an Ed25519 signature unlock block.
|
|
352
|
+
*/
|
|
353
|
+
async attachSignature(unsignedTx, signature) {
|
|
354
|
+
try {
|
|
355
|
+
const payload = JSON.parse(Buffer.from(unsignedTx, 'hex').toString());
|
|
356
|
+
const sig = signature.startsWith('0x') ? signature.slice(2) : signature;
|
|
357
|
+
const signedPayload = {
|
|
358
|
+
...payload,
|
|
359
|
+
signature: sig, // 64-byte Ed25519 signature hex
|
|
360
|
+
};
|
|
361
|
+
return Buffer.from(JSON.stringify(signedPayload)).toString('hex');
|
|
362
|
+
}
|
|
363
|
+
catch (e) {
|
|
364
|
+
throw new errors_1.ChainError(`Failed to attach IOTA signature: ${e.message}`, 'iota');
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Broadcast a signed IOTA transaction by submitting a block.
|
|
369
|
+
*
|
|
370
|
+
* Constructs a block containing the transaction payload with
|
|
371
|
+
* Ed25519 signature unlock blocks, then POSTs it to the node.
|
|
372
|
+
*/
|
|
373
|
+
async broadcast(signedTx) {
|
|
374
|
+
try {
|
|
375
|
+
const payload = JSON.parse(Buffer.from(signedTx, 'hex').toString());
|
|
376
|
+
// Build the unlock blocks
|
|
377
|
+
const unlocks = [];
|
|
378
|
+
for (let i = 0; i < payload.inputCount; i++) {
|
|
379
|
+
if (i === 0) {
|
|
380
|
+
// First input: Ed25519 signature unlock
|
|
381
|
+
unlocks.push({
|
|
382
|
+
type: 0, // Signature Unlock
|
|
383
|
+
signature: {
|
|
384
|
+
type: 0, // Ed25519
|
|
385
|
+
publicKey: '0x' + payload.publicKey,
|
|
386
|
+
signature: '0x' + payload.signature,
|
|
387
|
+
},
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
// Subsequent inputs from same address: Reference Unlock
|
|
392
|
+
unlocks.push({
|
|
393
|
+
type: 1, // Reference Unlock
|
|
394
|
+
reference: 0,
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
// Construct the transaction payload
|
|
399
|
+
const transactionPayload = {
|
|
400
|
+
type: 6, // Transaction Payload type
|
|
401
|
+
essence: {
|
|
402
|
+
type: 1, // Regular Transaction Essence
|
|
403
|
+
data: '0x' + payload.essence,
|
|
404
|
+
},
|
|
405
|
+
unlocks,
|
|
406
|
+
};
|
|
407
|
+
// Get tips for the block
|
|
408
|
+
const tipsResponse = await fetch(`${this.nodeUrl}/api/core/v2/tips`);
|
|
409
|
+
let parents = [];
|
|
410
|
+
if (tipsResponse.ok) {
|
|
411
|
+
const tipsData = await tipsResponse.json();
|
|
412
|
+
parents = (tipsData.tips || []).slice(0, 8);
|
|
413
|
+
}
|
|
414
|
+
if (parents.length === 0) {
|
|
415
|
+
throw new Error('Could not get tips from the IOTA node');
|
|
416
|
+
}
|
|
417
|
+
// Submit the block
|
|
418
|
+
const block = {
|
|
419
|
+
protocolVersion: 2,
|
|
420
|
+
parents,
|
|
421
|
+
payload: transactionPayload,
|
|
422
|
+
nonce: '0',
|
|
423
|
+
};
|
|
424
|
+
const submitResponse = await fetch(`${this.nodeUrl}/api/core/v2/blocks`, {
|
|
425
|
+
method: 'POST',
|
|
426
|
+
headers: { 'Content-Type': 'application/json' },
|
|
427
|
+
body: JSON.stringify(block),
|
|
428
|
+
});
|
|
429
|
+
if (!submitResponse.ok) {
|
|
430
|
+
const errorText = await submitResponse.text().catch(() => '');
|
|
431
|
+
throw new Error(`IOTA node returned HTTP ${submitResponse.status}: ${errorText}`);
|
|
432
|
+
}
|
|
433
|
+
const submitData = await submitResponse.json();
|
|
434
|
+
return submitData.blockId || '';
|
|
435
|
+
}
|
|
436
|
+
catch (e) {
|
|
437
|
+
if (e instanceof errors_1.ChainError)
|
|
438
|
+
throw e;
|
|
439
|
+
throw new errors_1.ChainError(`Failed to broadcast IOTA block: ${e.message}`, 'iota');
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Get balance in base units for an IOTA address.
|
|
444
|
+
*
|
|
445
|
+
* Queries the indexer for all basic outputs owned by the address
|
|
446
|
+
* and sums their amounts.
|
|
447
|
+
*/
|
|
448
|
+
async getBalance(address) {
|
|
449
|
+
try {
|
|
450
|
+
// Ensure bech32 format
|
|
451
|
+
let bech32Addr = address;
|
|
452
|
+
if (!address.includes('1')) {
|
|
453
|
+
// Raw hex — assume ed25519 public key, derive address
|
|
454
|
+
const addrBytes = ed25519AddressFromPubKey(address);
|
|
455
|
+
bech32Addr = encodeBech32Address(this.hrp, addrBytes);
|
|
456
|
+
}
|
|
457
|
+
const url = `${this.nodeUrl}/api/indexer/v2/outputs/basic?address=${bech32Addr}`;
|
|
458
|
+
const response = await fetch(url);
|
|
459
|
+
if (!response.ok)
|
|
460
|
+
return '0';
|
|
461
|
+
const data = await response.json();
|
|
462
|
+
const outputIds = data.items || [];
|
|
463
|
+
let total = 0n;
|
|
464
|
+
for (const outputId of outputIds) {
|
|
465
|
+
const outputUrl = `${this.nodeUrl}/api/core/v2/outputs/${outputId}`;
|
|
466
|
+
const outputResponse = await fetch(outputUrl);
|
|
467
|
+
if (!outputResponse.ok)
|
|
468
|
+
continue;
|
|
469
|
+
const outputData = await outputResponse.json();
|
|
470
|
+
total += BigInt(outputData.output?.amount || '0');
|
|
471
|
+
}
|
|
472
|
+
return total.toString();
|
|
473
|
+
}
|
|
474
|
+
catch {
|
|
475
|
+
return '0';
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Get node info (protocol parameters, network name, etc.).
|
|
480
|
+
*/
|
|
481
|
+
async getNodeInfo() {
|
|
482
|
+
try {
|
|
483
|
+
const response = await fetch(`${this.nodeUrl}${INFO_PATH}`);
|
|
484
|
+
if (!response.ok)
|
|
485
|
+
return null;
|
|
486
|
+
return await response.json();
|
|
487
|
+
}
|
|
488
|
+
catch {
|
|
489
|
+
return null;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
exports.IotaAdapter = IotaAdapter;
|
|
494
|
+
/** Create a mainnet IOTA adapter */
|
|
495
|
+
function createIotaAdapter(nodeUrl) {
|
|
496
|
+
return new IotaAdapter('mainnet', nodeUrl);
|
|
497
|
+
}
|
|
498
|
+
/** Create a testnet IOTA adapter */
|
|
499
|
+
function createIotaTestnetAdapter(nodeUrl) {
|
|
500
|
+
return new IotaAdapter('testnet', nodeUrl);
|
|
501
|
+
}
|
|
502
|
+
//# sourceMappingURL=iota.js.map
|