@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iota.js","sourceRoot":"","sources":["../../src/chains/iota.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kadena Chain Adapter
|
|
3
|
+
*
|
|
4
|
+
* Builds Kadena Pact commands for coin.transfer, attaches Ed25519
|
|
5
|
+
* signatures from the FROST threshold signing network, and broadcasts
|
|
6
|
+
* via the Kadena Chainweb Pact API.
|
|
7
|
+
*
|
|
8
|
+
* Kadena uses Ed25519 for signing. The signing payload is the Blake2b-256
|
|
9
|
+
* hash of the command JSON string (the "request key").
|
|
10
|
+
*
|
|
11
|
+
* No external dependencies — uses native fetch and crypto.
|
|
12
|
+
*
|
|
13
|
+
* Account format: k:<ed25519-public-key> (keyset-governed accounts)
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { KadenaAdapter } from '@sequence0/sdk';
|
|
18
|
+
*
|
|
19
|
+
* const kadena = new KadenaAdapter('mainnet');
|
|
20
|
+
*
|
|
21
|
+
* const unsignedTx = await kadena.buildTransaction(
|
|
22
|
+
* { to: 'k:abc...def', amount: '1.0', publicKey: 'abc...def' },
|
|
23
|
+
* 'k:abc...def'
|
|
24
|
+
* );
|
|
25
|
+
*
|
|
26
|
+
* // ... sign via FROST ed25519 ...
|
|
27
|
+
* const signedTx = await kadena.attachSignature(unsignedTx, signatureHex);
|
|
28
|
+
* const requestKey = await kadena.broadcast(signedTx);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import { ChainAdapter, KadenaTransaction } from '../core/types';
|
|
32
|
+
export declare class KadenaAdapter implements ChainAdapter {
|
|
33
|
+
private apiUrl;
|
|
34
|
+
private network;
|
|
35
|
+
private networkId;
|
|
36
|
+
constructor(network?: 'mainnet' | 'testnet', apiUrl?: string);
|
|
37
|
+
getRpcUrl(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Build an unsigned Kadena Pact command for a coin.transfer.
|
|
40
|
+
*
|
|
41
|
+
* Constructs the command JSON with meta, payload, signers, and nonce.
|
|
42
|
+
* The signing payload is the Blake2b-256 hash of the command JSON string.
|
|
43
|
+
*/
|
|
44
|
+
buildTransaction(tx: KadenaTransaction, fromAddress: string): Promise<string>;
|
|
45
|
+
/**
|
|
46
|
+
* Extract the Blake2b-256 hash of the command JSON as the
|
|
47
|
+
* Ed25519 signing payload.
|
|
48
|
+
*/
|
|
49
|
+
getSigningPayload(unsignedTx: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Attach an Ed25519 signature to the Kadena command.
|
|
52
|
+
*
|
|
53
|
+
* Places the signature in the sigs array matching the signer's pubkey.
|
|
54
|
+
*/
|
|
55
|
+
attachSignature(unsignedTx: string, signature: string): Promise<string>;
|
|
56
|
+
/**
|
|
57
|
+
* Broadcast a signed Kadena command via the Pact /send endpoint.
|
|
58
|
+
*
|
|
59
|
+
* Constructs the signed command object and POSTs it to the Pact API.
|
|
60
|
+
*/
|
|
61
|
+
broadcast(signedTx: string): Promise<string>;
|
|
62
|
+
/**
|
|
63
|
+
* Get KDA balance for an account on a specific chain.
|
|
64
|
+
*
|
|
65
|
+
* Uses the Pact /local endpoint to call coin.get-balance.
|
|
66
|
+
*/
|
|
67
|
+
getBalance(address: string, chainId?: string): Promise<string>;
|
|
68
|
+
/**
|
|
69
|
+
* Poll for transaction result by request key.
|
|
70
|
+
*/
|
|
71
|
+
pollTransaction(requestKey: string, chainId?: string, timeoutMs?: number): Promise<Record<string, unknown> | null>;
|
|
72
|
+
/**
|
|
73
|
+
* Get the current cut (latest block heights across all chains).
|
|
74
|
+
*/
|
|
75
|
+
getCut(): Promise<Record<string, unknown> | null>;
|
|
76
|
+
}
|
|
77
|
+
/** Create a mainnet Kadena adapter */
|
|
78
|
+
export declare function createKadenaAdapter(apiUrl?: string): KadenaAdapter;
|
|
79
|
+
/** Create a testnet Kadena adapter */
|
|
80
|
+
export declare function createKadenaTestnetAdapter(apiUrl?: string): KadenaAdapter;
|
|
81
|
+
//# sourceMappingURL=kadena.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kadena.d.ts","sourceRoot":"","sources":["../../src/chains/kadena.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAmEhE,qBAAa,aAAc,YAAW,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE,SAAS,GAAG,SAAqB,EAAE,MAAM,CAAC,EAAE,MAAM;IAMvE,SAAS,IAAI,MAAM;IAInB;;;;;OAKG;IACG,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0FnF;;;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;;;;OAIG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqClD;;;;OAIG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2DpE;;OAEG;IACG,eAAe,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,SAAS,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IA8B1C;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAU1D;AAED,sCAAsC;AACtC,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAElE;AAED,sCAAsC;AACtC,wBAAgB,0BAA0B,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAEzE"}
|
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Kadena Chain Adapter
|
|
4
|
+
*
|
|
5
|
+
* Builds Kadena Pact commands for coin.transfer, attaches Ed25519
|
|
6
|
+
* signatures from the FROST threshold signing network, and broadcasts
|
|
7
|
+
* via the Kadena Chainweb Pact API.
|
|
8
|
+
*
|
|
9
|
+
* Kadena uses Ed25519 for signing. The signing payload is the Blake2b-256
|
|
10
|
+
* hash of the command JSON string (the "request key").
|
|
11
|
+
*
|
|
12
|
+
* No external dependencies — uses native fetch and crypto.
|
|
13
|
+
*
|
|
14
|
+
* Account format: k:<ed25519-public-key> (keyset-governed accounts)
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { KadenaAdapter } from '@sequence0/sdk';
|
|
19
|
+
*
|
|
20
|
+
* const kadena = new KadenaAdapter('mainnet');
|
|
21
|
+
*
|
|
22
|
+
* const unsignedTx = await kadena.buildTransaction(
|
|
23
|
+
* { to: 'k:abc...def', amount: '1.0', publicKey: 'abc...def' },
|
|
24
|
+
* 'k:abc...def'
|
|
25
|
+
* );
|
|
26
|
+
*
|
|
27
|
+
* // ... sign via FROST ed25519 ...
|
|
28
|
+
* const signedTx = await kadena.attachSignature(unsignedTx, signatureHex);
|
|
29
|
+
* const requestKey = await kadena.broadcast(signedTx);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.KadenaAdapter = void 0;
|
|
34
|
+
exports.createKadenaAdapter = createKadenaAdapter;
|
|
35
|
+
exports.createKadenaTestnetAdapter = createKadenaTestnetAdapter;
|
|
36
|
+
const crypto_1 = require("crypto");
|
|
37
|
+
const errors_1 = require("../utils/errors");
|
|
38
|
+
// ── Network Configuration ──
|
|
39
|
+
const DEFAULT_API_URLS = {
|
|
40
|
+
'mainnet': 'https://api.chainweb.com',
|
|
41
|
+
'testnet': 'https://api.testnet.chainweb.com',
|
|
42
|
+
};
|
|
43
|
+
const NETWORK_IDS = {
|
|
44
|
+
'mainnet': 'mainnet01',
|
|
45
|
+
'testnet': 'testnet04',
|
|
46
|
+
};
|
|
47
|
+
const CHAINWEB_VERSION = '0.0';
|
|
48
|
+
/** Default gas limit for coin.transfer */
|
|
49
|
+
const DEFAULT_GAS_LIMIT = 600;
|
|
50
|
+
/** Default gas price */
|
|
51
|
+
const DEFAULT_GAS_PRICE = 0.00000001;
|
|
52
|
+
/** Default TTL in seconds (10 minutes) */
|
|
53
|
+
const DEFAULT_TTL = 600;
|
|
54
|
+
// ── Helpers ──
|
|
55
|
+
/**
|
|
56
|
+
* Build the Pact API base URL for a given chain.
|
|
57
|
+
*/
|
|
58
|
+
function pactUrl(baseUrl, networkId, chainId) {
|
|
59
|
+
return `${baseUrl}/chainweb/${CHAINWEB_VERSION}/${networkId}/chain/${chainId}/pact`;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Compute the request key (Blake2b-256 hash of the command string),
|
|
63
|
+
* returned as unpadded base64url.
|
|
64
|
+
*/
|
|
65
|
+
function computeRequestKey(cmdString) {
|
|
66
|
+
const hash = (0, crypto_1.createHash)('blake2b256')
|
|
67
|
+
.update(cmdString)
|
|
68
|
+
.digest();
|
|
69
|
+
// Kadena uses unpadded base64url for request keys
|
|
70
|
+
return hash.toString('base64url');
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Compute the hash of the command string as hex for signing.
|
|
74
|
+
* The FROST threshold signing network signs raw hash bytes.
|
|
75
|
+
*/
|
|
76
|
+
function computeCommandHash(cmdString) {
|
|
77
|
+
return (0, crypto_1.createHash)('blake2b256')
|
|
78
|
+
.update(cmdString)
|
|
79
|
+
.digest('hex');
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get the current ISO 8601 time string for the creation time field.
|
|
83
|
+
* Kadena uses integer seconds since epoch in the meta.
|
|
84
|
+
*/
|
|
85
|
+
function creationTime() {
|
|
86
|
+
return Math.floor(Date.now() / 1000);
|
|
87
|
+
}
|
|
88
|
+
// ── Adapter ──
|
|
89
|
+
class KadenaAdapter {
|
|
90
|
+
constructor(network = 'mainnet', apiUrl) {
|
|
91
|
+
this.network = network;
|
|
92
|
+
this.apiUrl = apiUrl || DEFAULT_API_URLS[network];
|
|
93
|
+
this.networkId = NETWORK_IDS[network];
|
|
94
|
+
}
|
|
95
|
+
getRpcUrl() {
|
|
96
|
+
return this.apiUrl;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Build an unsigned Kadena Pact command for a coin.transfer.
|
|
100
|
+
*
|
|
101
|
+
* Constructs the command JSON with meta, payload, signers, and nonce.
|
|
102
|
+
* The signing payload is the Blake2b-256 hash of the command JSON string.
|
|
103
|
+
*/
|
|
104
|
+
async buildTransaction(tx, fromAddress) {
|
|
105
|
+
try {
|
|
106
|
+
const publicKey = tx.publicKey;
|
|
107
|
+
if (!publicKey || publicKey.length !== 64) {
|
|
108
|
+
throw new Error('Kadena requires a 32-byte ed25519 public key hex in tx.publicKey');
|
|
109
|
+
}
|
|
110
|
+
const chainId = tx.chainId || '0';
|
|
111
|
+
const gasLimit = tx.gasLimit || DEFAULT_GAS_LIMIT;
|
|
112
|
+
const gasPrice = tx.gasPrice || DEFAULT_GAS_PRICE;
|
|
113
|
+
const ttl = tx.ttl || DEFAULT_TTL;
|
|
114
|
+
// Derive sender account name from public key if not provided
|
|
115
|
+
const sender = tx.sender || fromAddress || `k:${publicKey}`;
|
|
116
|
+
// Ensure recipient is properly formatted
|
|
117
|
+
const recipient = tx.to;
|
|
118
|
+
// Build the Pact code for coin.transfer
|
|
119
|
+
const code = `(coin.transfer "${sender}" "${recipient}" ${parseFloat(tx.amount).toFixed(12)})`;
|
|
120
|
+
// Build the command object
|
|
121
|
+
const nonce = `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
122
|
+
const creation = creationTime();
|
|
123
|
+
const cmd = {
|
|
124
|
+
networkId: this.networkId,
|
|
125
|
+
payload: {
|
|
126
|
+
exec: {
|
|
127
|
+
data: {},
|
|
128
|
+
code,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
signers: [
|
|
132
|
+
{
|
|
133
|
+
pubKey: publicKey,
|
|
134
|
+
scheme: 'ED25519',
|
|
135
|
+
clist: [
|
|
136
|
+
{
|
|
137
|
+
name: 'coin.TRANSFER',
|
|
138
|
+
args: [sender, recipient, parseFloat(tx.amount)],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: 'coin.GAS',
|
|
142
|
+
args: [],
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
meta: {
|
|
148
|
+
creationTime: creation,
|
|
149
|
+
ttl,
|
|
150
|
+
gasLimit,
|
|
151
|
+
chainId,
|
|
152
|
+
gasPrice,
|
|
153
|
+
sender,
|
|
154
|
+
},
|
|
155
|
+
nonce,
|
|
156
|
+
};
|
|
157
|
+
// Deterministic JSON serialization of the command
|
|
158
|
+
const cmdString = JSON.stringify(cmd);
|
|
159
|
+
// Compute the signing hash (Blake2b-256 of the command string)
|
|
160
|
+
const signingHash = computeCommandHash(cmdString);
|
|
161
|
+
const requestKey = computeRequestKey(cmdString);
|
|
162
|
+
const payload = {
|
|
163
|
+
signingHash,
|
|
164
|
+
requestKey,
|
|
165
|
+
cmd: cmdString,
|
|
166
|
+
publicKey,
|
|
167
|
+
chainId,
|
|
168
|
+
fromAddress: sender,
|
|
169
|
+
toAddress: recipient,
|
|
170
|
+
amount: tx.amount,
|
|
171
|
+
};
|
|
172
|
+
return Buffer.from(JSON.stringify(payload)).toString('hex');
|
|
173
|
+
}
|
|
174
|
+
catch (e) {
|
|
175
|
+
if (e instanceof errors_1.ChainError)
|
|
176
|
+
throw e;
|
|
177
|
+
throw new errors_1.ChainError(`Failed to build Kadena transaction: ${e.message}`, 'kadena');
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Extract the Blake2b-256 hash of the command JSON as the
|
|
182
|
+
* Ed25519 signing payload.
|
|
183
|
+
*/
|
|
184
|
+
getSigningPayload(unsignedTx) {
|
|
185
|
+
try {
|
|
186
|
+
const payload = JSON.parse(Buffer.from(unsignedTx, 'hex').toString());
|
|
187
|
+
return payload.signingHash;
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
return unsignedTx;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Attach an Ed25519 signature to the Kadena command.
|
|
195
|
+
*
|
|
196
|
+
* Places the signature in the sigs array matching the signer's pubkey.
|
|
197
|
+
*/
|
|
198
|
+
async attachSignature(unsignedTx, signature) {
|
|
199
|
+
try {
|
|
200
|
+
const payload = JSON.parse(Buffer.from(unsignedTx, 'hex').toString());
|
|
201
|
+
const sig = signature.startsWith('0x') ? signature.slice(2) : signature;
|
|
202
|
+
const signedPayload = {
|
|
203
|
+
...payload,
|
|
204
|
+
signature: sig, // 64-byte Ed25519 signature hex
|
|
205
|
+
};
|
|
206
|
+
return Buffer.from(JSON.stringify(signedPayload)).toString('hex');
|
|
207
|
+
}
|
|
208
|
+
catch (e) {
|
|
209
|
+
throw new errors_1.ChainError(`Failed to attach Kadena signature: ${e.message}`, 'kadena');
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Broadcast a signed Kadena command via the Pact /send endpoint.
|
|
214
|
+
*
|
|
215
|
+
* Constructs the signed command object and POSTs it to the Pact API.
|
|
216
|
+
*/
|
|
217
|
+
async broadcast(signedTx) {
|
|
218
|
+
try {
|
|
219
|
+
const payload = JSON.parse(Buffer.from(signedTx, 'hex').toString());
|
|
220
|
+
const chainId = payload.chainId || '0';
|
|
221
|
+
// Build the signed command for /send
|
|
222
|
+
const signedCmd = {
|
|
223
|
+
hash: payload.requestKey,
|
|
224
|
+
sigs: [
|
|
225
|
+
{ sig: payload.signature },
|
|
226
|
+
],
|
|
227
|
+
cmd: payload.cmd,
|
|
228
|
+
};
|
|
229
|
+
const sendUrl = `${pactUrl(this.apiUrl, this.networkId, chainId)}/api/v1/send`;
|
|
230
|
+
const response = await fetch(sendUrl, {
|
|
231
|
+
method: 'POST',
|
|
232
|
+
headers: { 'Content-Type': 'application/json' },
|
|
233
|
+
body: JSON.stringify({ cmds: [signedCmd] }),
|
|
234
|
+
});
|
|
235
|
+
if (!response.ok) {
|
|
236
|
+
const errorText = await response.text().catch(() => '');
|
|
237
|
+
throw new Error(`Kadena Pact API returned HTTP ${response.status}: ${errorText}`);
|
|
238
|
+
}
|
|
239
|
+
const result = await response.json();
|
|
240
|
+
return result.requestKeys?.[0] || payload.requestKey;
|
|
241
|
+
}
|
|
242
|
+
catch (e) {
|
|
243
|
+
if (e instanceof errors_1.ChainError)
|
|
244
|
+
throw e;
|
|
245
|
+
throw new errors_1.ChainError(`Failed to broadcast Kadena tx: ${e.message}`, 'kadena');
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Get KDA balance for an account on a specific chain.
|
|
250
|
+
*
|
|
251
|
+
* Uses the Pact /local endpoint to call coin.get-balance.
|
|
252
|
+
*/
|
|
253
|
+
async getBalance(address, chainId) {
|
|
254
|
+
try {
|
|
255
|
+
const chain = chainId || '0';
|
|
256
|
+
// Build a local Pact command for coin.get-balance
|
|
257
|
+
const code = `(coin.get-balance "${address}")`;
|
|
258
|
+
const cmd = {
|
|
259
|
+
networkId: this.networkId,
|
|
260
|
+
payload: {
|
|
261
|
+
exec: {
|
|
262
|
+
data: {},
|
|
263
|
+
code,
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
signers: [],
|
|
267
|
+
meta: {
|
|
268
|
+
creationTime: creationTime(),
|
|
269
|
+
ttl: DEFAULT_TTL,
|
|
270
|
+
gasLimit: 600,
|
|
271
|
+
chainId: chain,
|
|
272
|
+
gasPrice: DEFAULT_GAS_PRICE,
|
|
273
|
+
sender: '',
|
|
274
|
+
},
|
|
275
|
+
nonce: `balance-${Date.now()}`,
|
|
276
|
+
};
|
|
277
|
+
const cmdString = JSON.stringify(cmd);
|
|
278
|
+
const hash = computeRequestKey(cmdString);
|
|
279
|
+
const localCmd = {
|
|
280
|
+
hash,
|
|
281
|
+
sigs: [],
|
|
282
|
+
cmd: cmdString,
|
|
283
|
+
};
|
|
284
|
+
const localUrl = `${pactUrl(this.apiUrl, this.networkId, chain)}/api/v1/local`;
|
|
285
|
+
const response = await fetch(localUrl, {
|
|
286
|
+
method: 'POST',
|
|
287
|
+
headers: { 'Content-Type': 'application/json' },
|
|
288
|
+
body: JSON.stringify(localCmd),
|
|
289
|
+
});
|
|
290
|
+
if (!response.ok)
|
|
291
|
+
return '0';
|
|
292
|
+
const result = await response.json();
|
|
293
|
+
if (result.result?.status === 'success' && result.result.data != null) {
|
|
294
|
+
return result.result.data.toString();
|
|
295
|
+
}
|
|
296
|
+
return '0';
|
|
297
|
+
}
|
|
298
|
+
catch {
|
|
299
|
+
return '0';
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Poll for transaction result by request key.
|
|
304
|
+
*/
|
|
305
|
+
async pollTransaction(requestKey, chainId, timeoutMs = 120000) {
|
|
306
|
+
try {
|
|
307
|
+
const chain = chainId || '0';
|
|
308
|
+
const pollUrl = `${pactUrl(this.apiUrl, this.networkId, chain)}/api/v1/poll`;
|
|
309
|
+
const startTime = Date.now();
|
|
310
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
311
|
+
const response = await fetch(pollUrl, {
|
|
312
|
+
method: 'POST',
|
|
313
|
+
headers: { 'Content-Type': 'application/json' },
|
|
314
|
+
body: JSON.stringify({ requestKeys: [requestKey] }),
|
|
315
|
+
});
|
|
316
|
+
if (response.ok) {
|
|
317
|
+
const result = await response.json();
|
|
318
|
+
if (result[requestKey]) {
|
|
319
|
+
return result[requestKey];
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
// Wait before polling again
|
|
323
|
+
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
324
|
+
}
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
327
|
+
catch {
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Get the current cut (latest block heights across all chains).
|
|
333
|
+
*/
|
|
334
|
+
async getCut() {
|
|
335
|
+
try {
|
|
336
|
+
const url = `${this.apiUrl}/chainweb/${CHAINWEB_VERSION}/${this.networkId}/cut`;
|
|
337
|
+
const response = await fetch(url);
|
|
338
|
+
if (!response.ok)
|
|
339
|
+
return null;
|
|
340
|
+
return await response.json();
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
exports.KadenaAdapter = KadenaAdapter;
|
|
348
|
+
/** Create a mainnet Kadena adapter */
|
|
349
|
+
function createKadenaAdapter(apiUrl) {
|
|
350
|
+
return new KadenaAdapter('mainnet', apiUrl);
|
|
351
|
+
}
|
|
352
|
+
/** Create a testnet Kadena adapter */
|
|
353
|
+
function createKadenaTestnetAdapter(apiUrl) {
|
|
354
|
+
return new KadenaAdapter('testnet', apiUrl);
|
|
355
|
+
}
|
|
356
|
+
//# sourceMappingURL=kadena.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kadena.js","sourceRoot":"","sources":["../../src/chains/kadena.ts"],"names":[],"mappings":"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"}
|
package/dist/chains/near.d.ts
CHANGED
|
@@ -27,7 +27,10 @@ export declare class NearAdapter implements ChainAdapter {
|
|
|
27
27
|
*/
|
|
28
28
|
attachSignature(unsignedTx: string, signature: string): Promise<string>;
|
|
29
29
|
/**
|
|
30
|
-
* Broadcast a signed Near transaction
|
|
30
|
+
* Broadcast a signed Near transaction.
|
|
31
|
+
*
|
|
32
|
+
* Reconstructs a proper SignedTransaction using near-api-js
|
|
33
|
+
* Borsh serialization rather than manual byte concatenation.
|
|
31
34
|
*/
|
|
32
35
|
broadcast(signedTx: string): Promise<string>;
|
|
33
36
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"near.d.ts","sourceRoot":"","sources":["../../src/chains/near.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"near.d.ts","sourceRoot":"","sources":["../../src/chains/near.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAS9D,qBAAa,WAAY,YAAW,YAAY;IAC5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAM;gBAET,OAAO,GAAE,SAAS,GAAG,SAAqB,EAAE,MAAM,CAAC,EAAE,MAAM;IAMvE,SAAS,IAAI,MAAM;IAInB;;;;;OAKG;IACG,gBAAgB,CAAC,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+FjF,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS7C;;OAEG;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;IAmElD;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgBrD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAErE"}
|
package/dist/chains/near.js
CHANGED
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.NearAdapter = void 0;
|
|
13
13
|
exports.createNearAdapter = createNearAdapter;
|
|
14
14
|
exports.createNearTestnetAdapter = createNearTestnetAdapter;
|
|
15
|
+
const crypto_1 = require("crypto");
|
|
15
16
|
const errors_1 = require("../utils/errors");
|
|
16
17
|
const optional_deps_1 = require("../utils/optional-deps");
|
|
17
18
|
const DEFAULT_RPCS = {
|
|
@@ -43,11 +44,32 @@ class NearAdapter {
|
|
|
43
44
|
keyStore: new keyStores.InMemoryKeyStore(),
|
|
44
45
|
});
|
|
45
46
|
const provider = near.connection.provider;
|
|
46
|
-
//
|
|
47
|
+
// Resolve the signer's public key
|
|
48
|
+
let publicKey;
|
|
49
|
+
if (tx.publicKey) {
|
|
50
|
+
publicKey = utils.PublicKey.from('ed25519:' + tx.publicKey);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// Query all access keys for the account and pick a full-access key
|
|
54
|
+
const accessKeys = await provider.query({
|
|
55
|
+
request_type: 'view_access_key_list',
|
|
56
|
+
account_id: fromAddress,
|
|
57
|
+
finality: 'final',
|
|
58
|
+
});
|
|
59
|
+
const keys = accessKeys.keys || [];
|
|
60
|
+
const fullAccessKey = keys.find((k) => k.access_key?.permission === 'FullAccess');
|
|
61
|
+
if (fullAccessKey) {
|
|
62
|
+
publicKey = utils.PublicKey.from(fullAccessKey.public_key);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
throw new Error('No full access key found for account and no publicKey provided in transaction');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Get the access key nonce for this specific key
|
|
47
69
|
const accessKeyInfo = await provider.query({
|
|
48
70
|
request_type: 'view_access_key',
|
|
49
71
|
account_id: fromAddress,
|
|
50
|
-
public_key:
|
|
72
|
+
public_key: publicKey.toString(),
|
|
51
73
|
finality: 'final',
|
|
52
74
|
}).catch(() => ({ nonce: 0 }));
|
|
53
75
|
const nonce = accessKeyInfo.nonce + 1;
|
|
@@ -56,13 +78,13 @@ class NearAdapter {
|
|
|
56
78
|
const blockHash = utils.serialize.base_decode(block.header.hash);
|
|
57
79
|
// Build transfer action
|
|
58
80
|
const actions = [transactions.transfer(BigInt(tx.amount))];
|
|
59
|
-
// Create the transaction
|
|
60
|
-
const transaction = transactions.createTransaction(fromAddress,
|
|
61
|
-
tx.to, nonce, actions, blockHash);
|
|
81
|
+
// Create the transaction with the real public key
|
|
82
|
+
const transaction = transactions.createTransaction(fromAddress, publicKey, tx.to, nonce, actions, blockHash);
|
|
62
83
|
// Serialize and hash
|
|
63
84
|
const serialized = utils.serialize.serialize(transactions.SCHEMA.Transaction ?? transactions.SCHEMA, transaction);
|
|
64
|
-
const
|
|
65
|
-
|
|
85
|
+
const signingHash = (0, crypto_1.createHash)('sha256')
|
|
86
|
+
.update(Buffer.from(serialized))
|
|
87
|
+
.digest();
|
|
66
88
|
const payload = {
|
|
67
89
|
signingHash: Buffer.from(signingHash).toString('hex'),
|
|
68
90
|
serialized: Buffer.from(serialized).toString('hex'),
|
|
@@ -107,7 +129,10 @@ class NearAdapter {
|
|
|
107
129
|
}
|
|
108
130
|
}
|
|
109
131
|
/**
|
|
110
|
-
* Broadcast a signed Near transaction
|
|
132
|
+
* Broadcast a signed Near transaction.
|
|
133
|
+
*
|
|
134
|
+
* Reconstructs a proper SignedTransaction using near-api-js
|
|
135
|
+
* Borsh serialization rather than manual byte concatenation.
|
|
111
136
|
*/
|
|
112
137
|
async broadcast(signedTx) {
|
|
113
138
|
try {
|
|
@@ -119,15 +144,33 @@ class NearAdapter {
|
|
|
119
144
|
keyStore: new keyStores.InMemoryKeyStore(),
|
|
120
145
|
});
|
|
121
146
|
const provider = near.connection.provider;
|
|
122
|
-
// Reconstruct
|
|
147
|
+
// Reconstruct the Transaction object from Borsh bytes
|
|
123
148
|
const serializedTx = Buffer.from(payload.serialized, 'hex');
|
|
124
149
|
const sigBytes = Buffer.from(payload.signature, 'hex');
|
|
125
|
-
//
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
150
|
+
// Deserialize the original Transaction
|
|
151
|
+
const schema = transactions.SCHEMA.Transaction ?? transactions.SCHEMA;
|
|
152
|
+
const transaction = utils.serialize.deserialize(schema, transactions.Transaction, serializedTx);
|
|
153
|
+
// Create a proper Signature object
|
|
154
|
+
const signature = new transactions.Signature({
|
|
155
|
+
keyType: 0, // Ed25519
|
|
156
|
+
data: sigBytes,
|
|
157
|
+
});
|
|
158
|
+
// Create a proper SignedTransaction
|
|
159
|
+
const signedTransaction = new transactions.SignedTransaction({
|
|
160
|
+
transaction,
|
|
161
|
+
signature,
|
|
162
|
+
});
|
|
163
|
+
// Borsh-serialize the SignedTransaction using the library
|
|
164
|
+
let signedTxBytes;
|
|
165
|
+
if (typeof signedTransaction.encode === 'function') {
|
|
166
|
+
// near-api-js >= 2.x
|
|
167
|
+
signedTxBytes = signedTransaction.encode();
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
// near-api-js 1.x / fallback: serialize via schema
|
|
171
|
+
const signedSchema = transactions.SCHEMA.SignedTransaction ?? transactions.SCHEMA;
|
|
172
|
+
signedTxBytes = utils.serialize.serialize(signedSchema, signedTransaction);
|
|
173
|
+
}
|
|
131
174
|
// Send via RPC
|
|
132
175
|
const result = await provider.sendJsonRpc('broadcast_tx_commit', [
|
|
133
176
|
Buffer.from(signedTxBytes).toString('base64'),
|
package/dist/chains/near.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"near.js","sourceRoot":"","sources":["../../src/chains/near.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"near.js","sourceRoot":"","sources":["../../src/chains/near.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA6PH,8CAEC;AAED,4DAEC;AAjQD,mCAAoC;AAEpC,4CAA6C;AAC7C,0DAAmE;AAEnE,MAAM,YAAY,GAA2B;IACzC,SAAS,EAAE,8BAA8B;IACzC,SAAS,EAAE,8BAA8B;CAC5C,CAAC;AAEF,MAAa,WAAW;IAKpB,YAAY,UAAiC,SAAS,EAAE,MAAe;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAA,yCAAyB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAmB,EAAE,WAAmB;QAC3D,IAAI,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAEjE,qDAAqD;YACrD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;gBACvB,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,QAAQ,EAAE,IAAI,SAAS,CAAC,gBAAgB,EAAE;aAC7C,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAE1C,kCAAkC;YAClC,IAAI,SAAS,CAAC;YACd,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACJ,mEAAmE;gBACnE,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;oBACpC,YAAY,EAAE,sBAAsB;oBACpC,UAAU,EAAE,WAAW;oBACvB,QAAQ,EAAE,OAAO;iBACpB,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAI,UAAkB,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAC3B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,KAAK,YAAY,CACxD,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAChB,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CACX,+EAA+E,CAClF,CAAC;gBACN,CAAC;YACL,CAAC;YAED,iDAAiD;YACjD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;gBACvC,YAAY,EAAE,iBAAiB;gBAC/B,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE;gBAChC,QAAQ,EAAE,OAAO;aACpB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAE/B,MAAM,KAAK,GAAI,aAAqB,CAAC,KAAK,GAAG,CAAC,CAAC;YAE/C,8CAA8C;YAC9C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEjE,wBAAwB;YACxB,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE3D,kDAAkD;YAClD,MAAM,WAAW,GAAG,YAAY,CAAC,iBAAiB,CAC9C,WAAW,EACX,SAAS,EACT,EAAE,CAAC,EAAE,EACL,KAAK,EACL,OAAO,EACP,SAAS,CACZ,CAAC;YAEF,qBAAqB;YACrB,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CACxC,YAAY,CAAC,MAAM,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,EACtD,WAAW,CACd,CAAC;YAEF,MAAM,WAAW,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC;iBACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC/B,MAAM,EAAE,CAAC;YAEd,MAAM,OAAO,GAAG;gBACZ,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACrD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnD,WAAW;gBACX,SAAS,EAAE,EAAE,CAAC,EAAE;gBAChB,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,KAAK;gBACL,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;aACpD,CAAC;YAEF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,mBAAU;gBAAE,MAAM,CAAC,CAAC;YACrC,MAAM,IAAI,mBAAU,CAChB,qCAAsC,CAAW,CAAC,OAAO,EAAE,EAC3D,MAAM,CACT,CAAC;QACN,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAChC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,OAAO,CAAC,WAAW,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,UAAU,CAAC;QACtB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,SAAiB;QACvD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAExE,MAAM,aAAa,GAAG;gBAClB,GAAG,OAAO;gBACV,SAAS,EAAE,GAAG,EAAE,4BAA4B;aAC/C,CAAC;YAEF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,mBAAU,CAChB,oCAAqC,CAAW,CAAC,OAAO,EAAE,EAC1D,MAAM,CACT,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC5B,IAAI,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;gBACvB,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,QAAQ,EAAE,IAAI,SAAS,CAAC,gBAAgB,EAAE;aAC7C,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAE1C,sDAAsD;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEvD,uCAAuC;YACvC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,CAAC;YACtE,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAC3C,MAAM,EACN,YAAY,CAAC,WAAW,EACxB,YAAY,CACf,CAAC;YAEF,mCAAmC;YACnC,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC;gBACzC,OAAO,EAAE,CAAC,EAAE,UAAU;gBACtB,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC;YAEH,oCAAoC;YACpC,MAAM,iBAAiB,GAAG,IAAI,YAAY,CAAC,iBAAiB,CAAC;gBACzD,WAAW;gBACX,SAAS;aACZ,CAAC,CAAC;YAEH,0DAA0D;YAC1D,IAAI,aAAyB,CAAC;YAC9B,IAAI,OAAO,iBAAiB,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjD,qBAAqB;gBACrB,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACJ,mDAAmD;gBACnD,MAAM,YAAY,GACd,YAAY,CAAC,MAAM,CAAC,iBAAiB,IAAI,YAAY,CAAC,MAAM,CAAC;gBACjE,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CACrC,YAAY,EACZ,iBAAiB,CACpB,CAAC;YACN,CAAC;YAED,eAAe;YACf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,qBAAqB,EAAE;gBAC7D,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAChD,CAAC,CAAC;YAEH,OAAQ,MAAc,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,mBAAU;gBAAE,MAAM,CAAC,CAAC;YACrC,MAAM,IAAI,mBAAU,CAChB,gCAAiC,CAAW,CAAC,OAAO,EAAE,EACtD,MAAM,CACT,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe;QAC5B,IAAI,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;gBACvB,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,QAAQ,EAAE,IAAI,SAAS,CAAC,gBAAgB,EAAE;aAC7C,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC,SAAS,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,GAAG,CAAC;QACf,CAAC;IACL,CAAC;CACJ;AA/OD,kCA+OC;AAED,SAAgB,iBAAiB,CAAC,MAAe;IAC7C,OAAO,IAAI,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAe;IACpD,OAAO,IAAI,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC"}
|