@sequence0/sdk 1.1.2 → 1.2.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 +1 -1
- package/dist/chains/algorand.d.ts +44 -0
- package/dist/chains/algorand.d.ts.map +1 -0
- package/dist/chains/algorand.js +148 -0
- package/dist/chains/algorand.js.map +1 -0
- package/dist/chains/aptos.d.ts +39 -0
- package/dist/chains/aptos.d.ts.map +1 -0
- package/dist/chains/aptos.js +168 -0
- package/dist/chains/aptos.js.map +1 -0
- package/dist/chains/cardano.d.ts +42 -0
- package/dist/chains/cardano.d.ts.map +1 -0
- package/dist/chains/cardano.js +188 -0
- package/dist/chains/cardano.js.map +1 -0
- package/dist/chains/cosmos.d.ts +42 -0
- package/dist/chains/cosmos.d.ts.map +1 -0
- package/dist/chains/cosmos.js +216 -0
- package/dist/chains/cosmos.js.map +1 -0
- package/dist/chains/dogecoin-litecoin.d.ts +57 -0
- package/dist/chains/dogecoin-litecoin.d.ts.map +1 -0
- package/dist/chains/dogecoin-litecoin.js +521 -0
- package/dist/chains/dogecoin-litecoin.js.map +1 -0
- package/dist/chains/ethereum.d.ts.map +1 -1
- package/dist/chains/ethereum.js +16 -0
- package/dist/chains/ethereum.js.map +1 -1
- package/dist/chains/hedera.d.ts +113 -0
- package/dist/chains/hedera.d.ts.map +1 -0
- package/dist/chains/hedera.js +302 -0
- package/dist/chains/hedera.js.map +1 -0
- package/dist/chains/icp.d.ts +95 -0
- package/dist/chains/icp.d.ts.map +1 -0
- package/dist/chains/icp.js +520 -0
- package/dist/chains/icp.js.map +1 -0
- package/dist/chains/kaspa.d.ts +152 -0
- package/dist/chains/kaspa.d.ts.map +1 -0
- package/dist/chains/kaspa.js +790 -0
- package/dist/chains/kaspa.js.map +1 -0
- package/dist/chains/multiversx.d.ts +143 -0
- package/dist/chains/multiversx.d.ts.map +1 -0
- package/dist/chains/multiversx.js +524 -0
- package/dist/chains/multiversx.js.map +1 -0
- package/dist/chains/near.d.ts +40 -0
- package/dist/chains/near.d.ts.map +1 -0
- package/dist/chains/near.js +170 -0
- package/dist/chains/near.js.map +1 -0
- package/dist/chains/polkadot.d.ts +43 -0
- package/dist/chains/polkadot.d.ts.map +1 -0
- package/dist/chains/polkadot.js +179 -0
- package/dist/chains/polkadot.js.map +1 -0
- package/dist/chains/ripple.d.ts +41 -0
- package/dist/chains/ripple.d.ts.map +1 -0
- package/dist/chains/ripple.js +190 -0
- package/dist/chains/ripple.js.map +1 -0
- package/dist/chains/stellar.d.ts +40 -0
- package/dist/chains/stellar.d.ts.map +1 -0
- package/dist/chains/stellar.js +156 -0
- package/dist/chains/stellar.js.map +1 -0
- package/dist/chains/sui.d.ts +44 -0
- package/dist/chains/sui.d.ts.map +1 -0
- package/dist/chains/sui.js +157 -0
- package/dist/chains/sui.js.map +1 -0
- package/dist/chains/tezos.d.ts +43 -0
- package/dist/chains/tezos.d.ts.map +1 -0
- package/dist/chains/tezos.js +162 -0
- package/dist/chains/tezos.js.map +1 -0
- package/dist/chains/ton.d.ts +40 -0
- package/dist/chains/ton.d.ts.map +1 -0
- package/dist/chains/ton.js +168 -0
- package/dist/chains/ton.js.map +1 -0
- package/dist/chains/tron.d.ts +41 -0
- package/dist/chains/tron.d.ts.map +1 -0
- package/dist/chains/tron.js +124 -0
- package/dist/chains/tron.js.map +1 -0
- package/dist/core/types.d.ts +161 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +19 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -4
- package/dist/index.js.map +1 -1
- package/dist/utils/optional-deps.d.ts +9 -0
- package/dist/utils/optional-deps.d.ts.map +1 -0
- package/dist/utils/optional-deps.js +21 -0
- package/dist/utils/optional-deps.js.map +1 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +6 -1
- package/dist/utils/validation.js.map +1 -1
- package/dist/wallet/wallet.d.ts.map +1 -1
- package/dist/wallet/wallet.js +61 -33
- package/dist/wallet/wallet.js.map +1 -1
- package/package.json +35 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../src/chains/cardano.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cosmos/IBC Chain Adapter
|
|
3
|
+
*
|
|
4
|
+
* Builds Cosmos SDK transactions, attaches secp256k1 ECDSA signatures
|
|
5
|
+
* from the FROST threshold signing network, and broadcasts via
|
|
6
|
+
* Tendermint RPC. Supports any IBC-compatible chain (Cosmos Hub,
|
|
7
|
+
* Osmosis, Celestia, Injective, dYdX, etc.).
|
|
8
|
+
*
|
|
9
|
+
* Requires: npm install @cosmjs/stargate @cosmjs/proto-signing
|
|
10
|
+
*/
|
|
11
|
+
import { ChainAdapter, CosmosTransaction } from '../core/types';
|
|
12
|
+
export declare class CosmosAdapter implements ChainAdapter {
|
|
13
|
+
private rpcUrl;
|
|
14
|
+
private chainName;
|
|
15
|
+
private cosmjs;
|
|
16
|
+
private protoSigning;
|
|
17
|
+
constructor(chainName?: string, rpcUrl?: string);
|
|
18
|
+
getRpcUrl(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Build an unsigned Cosmos transaction.
|
|
21
|
+
*
|
|
22
|
+
* Returns hex-encoded JSON containing the signing bytes and TX metadata.
|
|
23
|
+
* The signing payload is SHA-256 of the Protobuf-serialized SignDoc.
|
|
24
|
+
*/
|
|
25
|
+
buildTransaction(tx: CosmosTransaction, fromAddress: string): Promise<string>;
|
|
26
|
+
getSigningPayload(unsignedTx: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Attach a secp256k1 ECDSA signature to the Cosmos transaction
|
|
29
|
+
*/
|
|
30
|
+
attachSignature(unsignedTx: string, signature: string): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Broadcast a signed Cosmos transaction
|
|
33
|
+
*/
|
|
34
|
+
broadcast(signedTx: string): Promise<string>;
|
|
35
|
+
/**
|
|
36
|
+
* Get native token balance
|
|
37
|
+
*/
|
|
38
|
+
getBalance(address: string): Promise<string>;
|
|
39
|
+
}
|
|
40
|
+
export declare function createCosmosAdapter(rpcUrl?: string): CosmosAdapter;
|
|
41
|
+
export declare function createOsmosisAdapter(rpcUrl?: string): CosmosAdapter;
|
|
42
|
+
//# sourceMappingURL=cosmos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../src/chains/cosmos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AA2ChE,qBAAa,aAAc,YAAW,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,YAAY,CAAM;gBAEd,SAAS,SAAc,EAAE,MAAM,CAAC,EAAE,MAAM;IAOpD,SAAS,IAAI,MAAM;IAInB;;;;;OAKG;IACG,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+EnF,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS7C;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsB7E;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqClD;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYrD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAElE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAEnE"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cosmos/IBC Chain Adapter
|
|
4
|
+
*
|
|
5
|
+
* Builds Cosmos SDK transactions, attaches secp256k1 ECDSA signatures
|
|
6
|
+
* from the FROST threshold signing network, and broadcasts via
|
|
7
|
+
* Tendermint RPC. Supports any IBC-compatible chain (Cosmos Hub,
|
|
8
|
+
* Osmosis, Celestia, Injective, dYdX, etc.).
|
|
9
|
+
*
|
|
10
|
+
* Requires: npm install @cosmjs/stargate @cosmjs/proto-signing
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.CosmosAdapter = void 0;
|
|
14
|
+
exports.createCosmosAdapter = createCosmosAdapter;
|
|
15
|
+
exports.createOsmosisAdapter = createOsmosisAdapter;
|
|
16
|
+
const errors_1 = require("../utils/errors");
|
|
17
|
+
const optional_deps_1 = require("../utils/optional-deps");
|
|
18
|
+
const DEFAULT_RPCS = {
|
|
19
|
+
'cosmoshub': 'https://rpc.cosmos.directory/cosmoshub',
|
|
20
|
+
'osmosis': 'https://rpc.cosmos.directory/osmosis',
|
|
21
|
+
'celestia': 'https://rpc.cosmos.directory/celestia',
|
|
22
|
+
'injective': 'https://rpc.cosmos.directory/injective',
|
|
23
|
+
'dydx': 'https://rpc.cosmos.directory/dydx',
|
|
24
|
+
'sei': 'https://rpc.cosmos.directory/sei',
|
|
25
|
+
'stargaze': 'https://rpc.cosmos.directory/stargaze',
|
|
26
|
+
'juno': 'https://rpc.cosmos.directory/juno',
|
|
27
|
+
'akash': 'https://rpc.cosmos.directory/akash',
|
|
28
|
+
'kava': 'https://rpc.cosmos.directory/kava',
|
|
29
|
+
};
|
|
30
|
+
const DEFAULT_DENOMS = {
|
|
31
|
+
'cosmoshub': 'uatom',
|
|
32
|
+
'osmosis': 'uosmo',
|
|
33
|
+
'celestia': 'utia',
|
|
34
|
+
'injective': 'inj',
|
|
35
|
+
'dydx': 'adydx',
|
|
36
|
+
'sei': 'usei',
|
|
37
|
+
'stargaze': 'ustars',
|
|
38
|
+
'juno': 'ujuno',
|
|
39
|
+
'akash': 'uakt',
|
|
40
|
+
'kava': 'ukava',
|
|
41
|
+
};
|
|
42
|
+
const DEFAULT_CHAIN_IDS = {
|
|
43
|
+
'cosmoshub': 'cosmoshub-4',
|
|
44
|
+
'osmosis': 'osmosis-1',
|
|
45
|
+
'celestia': 'celestia',
|
|
46
|
+
'injective': 'injective-1',
|
|
47
|
+
'dydx': 'dydx-mainnet-1',
|
|
48
|
+
'sei': 'pacific-1',
|
|
49
|
+
'stargaze': 'stargaze-1',
|
|
50
|
+
'juno': 'juno-1',
|
|
51
|
+
'akash': 'akashnet-2',
|
|
52
|
+
'kava': 'kava_2222-10',
|
|
53
|
+
};
|
|
54
|
+
class CosmosAdapter {
|
|
55
|
+
constructor(chainName = 'cosmoshub', rpcUrl) {
|
|
56
|
+
this.chainName = chainName;
|
|
57
|
+
this.rpcUrl = rpcUrl || DEFAULT_RPCS[chainName] || DEFAULT_RPCS['cosmoshub'];
|
|
58
|
+
this.cosmjs = (0, optional_deps_1.requireOptionalDependency)('@cosmjs/stargate', 'cosmos');
|
|
59
|
+
this.protoSigning = (0, optional_deps_1.requireOptionalDependency)('@cosmjs/proto-signing', 'cosmos');
|
|
60
|
+
}
|
|
61
|
+
getRpcUrl() {
|
|
62
|
+
return this.rpcUrl;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Build an unsigned Cosmos transaction.
|
|
66
|
+
*
|
|
67
|
+
* Returns hex-encoded JSON containing the signing bytes and TX metadata.
|
|
68
|
+
* The signing payload is SHA-256 of the Protobuf-serialized SignDoc.
|
|
69
|
+
*/
|
|
70
|
+
async buildTransaction(tx, fromAddress) {
|
|
71
|
+
try {
|
|
72
|
+
const { StargateClient } = this.cosmjs;
|
|
73
|
+
const { makeSignDoc, makeSignBytes, Registry, TxBody, AuthInfo, SignerInfo, Fee } = this.protoSigning;
|
|
74
|
+
const client = await StargateClient.connect(this.rpcUrl);
|
|
75
|
+
const account = await client.getAccount(fromAddress);
|
|
76
|
+
if (!account) {
|
|
77
|
+
throw new Error(`Account ${fromAddress} not found on chain`);
|
|
78
|
+
}
|
|
79
|
+
const denom = tx.denom || DEFAULT_DENOMS[this.chainName] || 'uatom';
|
|
80
|
+
const chainId = tx.chainId || DEFAULT_CHAIN_IDS[this.chainName] || 'cosmoshub-4';
|
|
81
|
+
const gasLimit = tx.gas || '200000';
|
|
82
|
+
// Build MsgSend
|
|
83
|
+
const msgSend = {
|
|
84
|
+
typeUrl: '/cosmos.bank.v1beta1.MsgSend',
|
|
85
|
+
value: {
|
|
86
|
+
fromAddress,
|
|
87
|
+
toAddress: tx.to,
|
|
88
|
+
amount: [{ denom, amount: tx.amount }],
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
const registry = new Registry();
|
|
92
|
+
const txBodyEncoded = registry.encode({
|
|
93
|
+
typeUrl: '/cosmos.tx.v1beta1.TxBody',
|
|
94
|
+
value: {
|
|
95
|
+
messages: [msgSend],
|
|
96
|
+
memo: tx.memo || '',
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
// Build AuthInfo with signer info
|
|
100
|
+
const pubkeyAny = {
|
|
101
|
+
typeUrl: '/cosmos.crypto.secp256k1.PubKey',
|
|
102
|
+
value: new Uint8Array(0), // Placeholder — filled after signing
|
|
103
|
+
};
|
|
104
|
+
const signDoc = makeSignDoc(txBodyEncoded, new Uint8Array(0), // authInfoBytes placeholder
|
|
105
|
+
chainId, account.accountNumber);
|
|
106
|
+
const signBytes = makeSignBytes(signDoc);
|
|
107
|
+
// SHA-256 of signBytes is what FROST signs
|
|
108
|
+
const crypto = require('crypto');
|
|
109
|
+
const signingHash = crypto.createHash('sha256').update(Buffer.from(signBytes)).digest();
|
|
110
|
+
const payload = {
|
|
111
|
+
signingHash: Buffer.from(signingHash).toString('hex'),
|
|
112
|
+
signBytes: Buffer.from(signBytes).toString('hex'),
|
|
113
|
+
txBodyEncoded: Buffer.from(txBodyEncoded).toString('hex'),
|
|
114
|
+
chainId,
|
|
115
|
+
accountNumber: account.accountNumber,
|
|
116
|
+
sequence: account.sequence,
|
|
117
|
+
gasLimit,
|
|
118
|
+
denom,
|
|
119
|
+
fromAddress,
|
|
120
|
+
toAddress: tx.to,
|
|
121
|
+
amount: tx.amount,
|
|
122
|
+
memo: tx.memo || '',
|
|
123
|
+
};
|
|
124
|
+
await client.disconnect();
|
|
125
|
+
return Buffer.from(JSON.stringify(payload)).toString('hex');
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
if (e instanceof errors_1.ChainError)
|
|
129
|
+
throw e;
|
|
130
|
+
throw new errors_1.ChainError(`Failed to build Cosmos transaction: ${e.message}`, 'cosmos');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
getSigningPayload(unsignedTx) {
|
|
134
|
+
try {
|
|
135
|
+
const payload = JSON.parse(Buffer.from(unsignedTx, 'hex').toString());
|
|
136
|
+
return payload.signingHash;
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return unsignedTx;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Attach a secp256k1 ECDSA signature to the Cosmos transaction
|
|
144
|
+
*/
|
|
145
|
+
async attachSignature(unsignedTx, signature) {
|
|
146
|
+
try {
|
|
147
|
+
const payload = JSON.parse(Buffer.from(unsignedTx, 'hex').toString());
|
|
148
|
+
const sig = signature.startsWith('0x') ? signature.slice(2) : signature;
|
|
149
|
+
// Cosmos uses compact 64-byte signatures (r + s, no v recovery byte)
|
|
150
|
+
const compactSig = sig.slice(0, 128); // first 64 bytes
|
|
151
|
+
const signedPayload = {
|
|
152
|
+
...payload,
|
|
153
|
+
signature: compactSig,
|
|
154
|
+
};
|
|
155
|
+
return Buffer.from(JSON.stringify(signedPayload)).toString('hex');
|
|
156
|
+
}
|
|
157
|
+
catch (e) {
|
|
158
|
+
throw new errors_1.ChainError(`Failed to attach Cosmos signature: ${e.message}`, 'cosmos');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Broadcast a signed Cosmos transaction
|
|
163
|
+
*/
|
|
164
|
+
async broadcast(signedTx) {
|
|
165
|
+
try {
|
|
166
|
+
const { StargateClient } = this.cosmjs;
|
|
167
|
+
const payload = JSON.parse(Buffer.from(signedTx, 'hex').toString());
|
|
168
|
+
// Reconstruct the signed TX using Protobuf encoding
|
|
169
|
+
const { TxRaw } = this.protoSigning;
|
|
170
|
+
const txBodyBytes = Buffer.from(payload.txBodyEncoded, 'hex');
|
|
171
|
+
const sigBytes = Buffer.from(payload.signature, 'hex');
|
|
172
|
+
const txRaw = TxRaw.fromPartial({
|
|
173
|
+
bodyBytes: txBodyBytes,
|
|
174
|
+
authInfoBytes: new Uint8Array(0), // Will be rebuilt
|
|
175
|
+
signatures: [sigBytes],
|
|
176
|
+
});
|
|
177
|
+
const txBytes = TxRaw.encode(txRaw).finish();
|
|
178
|
+
const client = await StargateClient.connect(this.rpcUrl);
|
|
179
|
+
const result = await client.broadcastTx(txBytes);
|
|
180
|
+
await client.disconnect();
|
|
181
|
+
if (result.code !== 0) {
|
|
182
|
+
throw new Error(`Broadcast failed with code ${result.code}: ${result.rawLog}`);
|
|
183
|
+
}
|
|
184
|
+
return result.transactionHash;
|
|
185
|
+
}
|
|
186
|
+
catch (e) {
|
|
187
|
+
if (e instanceof errors_1.ChainError)
|
|
188
|
+
throw e;
|
|
189
|
+
throw new errors_1.ChainError(`Failed to broadcast Cosmos tx: ${e.message}`, 'cosmos');
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Get native token balance
|
|
194
|
+
*/
|
|
195
|
+
async getBalance(address) {
|
|
196
|
+
try {
|
|
197
|
+
const { StargateClient } = this.cosmjs;
|
|
198
|
+
const client = await StargateClient.connect(this.rpcUrl);
|
|
199
|
+
const denom = DEFAULT_DENOMS[this.chainName] || 'uatom';
|
|
200
|
+
const balance = await client.getBalance(address, denom);
|
|
201
|
+
await client.disconnect();
|
|
202
|
+
return balance.amount;
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
return '0';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
exports.CosmosAdapter = CosmosAdapter;
|
|
210
|
+
function createCosmosAdapter(rpcUrl) {
|
|
211
|
+
return new CosmosAdapter('cosmoshub', rpcUrl);
|
|
212
|
+
}
|
|
213
|
+
function createOsmosisAdapter(rpcUrl) {
|
|
214
|
+
return new CosmosAdapter('osmosis', rpcUrl);
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=cosmos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../src/chains/cosmos.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AA8OH,kDAEC;AAED,oDAEC;AAjPD,4CAA6C;AAC7C,0DAAmE;AAEnE,MAAM,YAAY,GAA2B;IACzC,WAAW,EAAE,wCAAwC;IACrD,SAAS,EAAE,sCAAsC;IACjD,UAAU,EAAE,uCAAuC;IACnD,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,mCAAmC;IAC3C,KAAK,EAAE,kCAAkC;IACzC,UAAU,EAAE,uCAAuC;IACnD,MAAM,EAAE,mCAAmC;IAC3C,OAAO,EAAE,oCAAoC;IAC7C,MAAM,EAAE,mCAAmC;CAC9C,CAAC;AAEF,MAAM,cAAc,GAA2B;IAC3C,WAAW,EAAE,OAAO;IACpB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,OAAO;CAClB,CAAC;AAEF,MAAM,iBAAiB,GAA2B;IAC9C,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,WAAW;IAClB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,cAAc;CACzB,CAAC;AAEF,MAAa,aAAa;IAMtB,YAAY,SAAS,GAAG,WAAW,EAAE,MAAe;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,GAAG,IAAA,yCAAyB,EAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,IAAA,yCAAyB,EAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IACrF,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAqB,EAAE,WAAmB;QAC7D,IAAI,CAAC;YACD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YACvC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAEtG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,qBAAqB,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;YACpE,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC;YACjF,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,QAAQ,CAAC;YAEpC,gBAAgB;YAChB,MAAM,OAAO,GAAG;gBACZ,OAAO,EAAE,8BAA8B;gBACvC,KAAK,EAAE;oBACH,WAAW;oBACX,SAAS,EAAE,EAAE,CAAC,EAAE;oBAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;iBACzC;aACJ,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAClC,OAAO,EAAE,2BAA2B;gBACpC,KAAK,EAAE;oBACH,QAAQ,EAAE,CAAC,OAAO,CAAC;oBACnB,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;iBACtB;aACJ,CAAC,CAAC;YAEH,kCAAkC;YAClC,MAAM,SAAS,GAAG;gBACd,OAAO,EAAE,iCAAiC;gBAC1C,KAAK,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,qCAAqC;aAClE,CAAC;YAEF,MAAM,OAAO,GAAG,WAAW,CACvB,aAAa,EACb,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,4BAA4B;YAC/C,OAAO,EACP,OAAO,CAAC,aAAa,CACxB,CAAC;YAEF,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAEzC,2CAA2C;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAExF,MAAM,OAAO,GAAG;gBACZ,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACrD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjD,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACzD,OAAO;gBACP,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ;gBACR,KAAK;gBACL,WAAW;gBACX,SAAS,EAAE,EAAE,CAAC,EAAE;gBAChB,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;aACtB,CAAC;YAEF,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,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,uCAAwC,CAAW,CAAC,OAAO,EAAE,EAC7D,QAAQ,CACX,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,qEAAqE;YACrE,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB;YAEvD,MAAM,aAAa,GAAG;gBAClB,GAAG,OAAO;gBACV,SAAS,EAAE,UAAU;aACxB,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,sCAAuC,CAAW,CAAC,OAAO,EAAE,EAC5D,QAAQ,CACX,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC5B,IAAI,CAAC;YACD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpE,oDAAoD;YACpD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAEpC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;gBAC5B,SAAS,EAAE,WAAW;gBACtB,aAAa,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB;gBACpD,UAAU,EAAE,CAAC,QAAQ,CAAC;aACzB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAE7C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAE1B,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,OAAO,MAAM,CAAC,eAAe,CAAC;QAClC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,mBAAU;gBAAE,MAAM,CAAC,CAAC;YACrC,MAAM,IAAI,mBAAU,CAChB,kCAAmC,CAAW,CAAC,OAAO,EAAE,EACxD,QAAQ,CACX,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe;QAC5B,IAAI,CAAC;YACD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,GAAG,CAAC;QACf,CAAC;IACL,CAAC;CACJ;AA/LD,sCA+LC;AAED,SAAgB,mBAAmB,CAAC,MAAe;IAC/C,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAAe;IAChD,OAAO,IAAI,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dogecoin & Litecoin P2PKH Adapter
|
|
3
|
+
*
|
|
4
|
+
* Builds P2PKH (Pay-to-Public-Key-Hash) transactions for Dogecoin and
|
|
5
|
+
* Litecoin, attaches secp256k1 ECDSA signatures from the FROST threshold
|
|
6
|
+
* signing network, and broadcasts via public APIs.
|
|
7
|
+
*
|
|
8
|
+
* These chains do NOT support Taproot/P2TR, so we use legacy P2PKH format
|
|
9
|
+
* with ECDSA signatures (not Schnorr).
|
|
10
|
+
*
|
|
11
|
+
* No external dependencies — TX serialization implemented from scratch.
|
|
12
|
+
*/
|
|
13
|
+
import { ChainAdapter, DogeTransaction, LtcTransaction } from '../core/types';
|
|
14
|
+
export declare class DogecoinLitecoinAdapter implements ChainAdapter {
|
|
15
|
+
private chain;
|
|
16
|
+
private network;
|
|
17
|
+
private apiUrl;
|
|
18
|
+
constructor(chain: 'dogecoin' | 'litecoin' | 'bitcoincash' | 'bitcoinsv', network?: 'mainnet' | 'testnet');
|
|
19
|
+
getRpcUrl(): string;
|
|
20
|
+
/**
|
|
21
|
+
* Build an unsigned P2PKH transaction.
|
|
22
|
+
*
|
|
23
|
+
* Returns hex-encoded JSON containing per-input sighashes.
|
|
24
|
+
* Each sighash must be signed separately with FROST ECDSA.
|
|
25
|
+
*/
|
|
26
|
+
buildTransaction(tx: DogeTransaction | LtcTransaction, fromAddress: string): Promise<string>;
|
|
27
|
+
getSigningPayload(unsignedTx: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Attach secp256k1 ECDSA signature(s) to the transaction.
|
|
30
|
+
* For multi-input, pass comma-separated signatures.
|
|
31
|
+
*/
|
|
32
|
+
attachSignature(unsignedTx: string, signature: string): Promise<string>;
|
|
33
|
+
/**
|
|
34
|
+
* Broadcast a signed transaction
|
|
35
|
+
*/
|
|
36
|
+
broadcast(signedTx: string): Promise<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Get balance in satoshis/koinu
|
|
39
|
+
*/
|
|
40
|
+
getBalance(address: string): Promise<string>;
|
|
41
|
+
private fetchUtxos;
|
|
42
|
+
/**
|
|
43
|
+
* Compute P2PKH sighash for a specific input.
|
|
44
|
+
* SIGHASH_ALL (0x01): SHA256d of the serialized TX with
|
|
45
|
+
* the input's scriptPubKey placed in the scriptSig slot.
|
|
46
|
+
*/
|
|
47
|
+
private computeP2pkhSighash;
|
|
48
|
+
/**
|
|
49
|
+
* Serialize a fully signed P2PKH transaction
|
|
50
|
+
*/
|
|
51
|
+
private serializeSignedTx;
|
|
52
|
+
}
|
|
53
|
+
export declare function createDogecoinAdapter(network?: 'mainnet' | 'testnet'): DogecoinLitecoinAdapter;
|
|
54
|
+
export declare function createLitecoinAdapter(network?: 'mainnet' | 'testnet'): DogecoinLitecoinAdapter;
|
|
55
|
+
export declare function createBitcoinCashAdapter(network?: 'mainnet' | 'testnet'): DogecoinLitecoinAdapter;
|
|
56
|
+
export declare function createBitcoinSVAdapter(network?: 'mainnet' | 'testnet'): DogecoinLitecoinAdapter;
|
|
57
|
+
//# sourceMappingURL=dogecoin-litecoin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dogecoin-litecoin.d.ts","sourceRoot":"","sources":["../../src/chains/dogecoin-litecoin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAkC,MAAM,eAAe,CAAC;AAmC9G,qBAAa,uBAAwB,YAAW,YAAY;IACxD,OAAO,CAAC,KAAK,CAAwD;IACrE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,EAAE,OAAO,GAAE,SAAS,GAAG,SAAqB;IAMpH,SAAS,IAAI,MAAM;IAInB;;;;;OAKG;IACG,gBAAgB,CAClB,EAAE,EAAE,eAAe,GAAG,cAAc,EACpC,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IAuFlB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS7C;;;OAGG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqC7E;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwClD;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAyBpC,UAAU;IA4CxB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA6D3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAkE5B;AAoFD,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,SAAS,GAAG,SAAqB,GAAG,uBAAuB,CAEzG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,SAAS,GAAG,SAAqB,GAAG,uBAAuB,CAEzG;AAED,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,SAAS,GAAG,SAAqB,GAAG,uBAAuB,CAE5G;AAED,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,SAAS,GAAG,SAAqB,GAAG,uBAAuB,CAE1G"}
|