@fastxyz/allset-sdk 0.1.2 → 0.1.4
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 +184 -14
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +2 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/core/address.d.ts +4 -0
- package/dist/core/address.d.ts.map +1 -0
- package/dist/core/address.js +27 -0
- package/dist/core/address.js.map +1 -0
- package/dist/core/deposit.d.ts +59 -0
- package/dist/core/deposit.d.ts.map +1 -0
- package/dist/core/deposit.js +93 -0
- package/dist/core/deposit.js.map +1 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +4 -0
- package/dist/core/index.js.map +1 -0
- package/dist/default-config.d.ts +51 -0
- package/dist/default-config.d.ts.map +1 -0
- package/dist/default-config.js +52 -0
- package/dist/default-config.js.map +1 -0
- package/dist/index.d.ts +4 -49
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -48
- package/dist/index.js.map +1 -1
- package/dist/intents.d.ts.map +1 -1
- package/dist/intents.js +1 -9
- package/dist/intents.js.map +1 -1
- package/dist/node/bridge.d.ts.map +1 -0
- package/dist/{bridge.js → node/bridge.js} +129 -72
- package/dist/node/bridge.js.map +1 -0
- package/dist/{config.d.ts → node/config.d.ts} +2 -5
- package/dist/node/config.d.ts.map +1 -0
- package/dist/{config.js → node/config.js} +5 -23
- package/dist/node/config.js.map +1 -0
- package/dist/node/evm-executor.d.ts +130 -0
- package/dist/node/evm-executor.d.ts.map +1 -0
- package/dist/node/evm-executor.js +159 -0
- package/dist/node/evm-executor.js.map +1 -0
- package/dist/node/index.d.ts +14 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +17 -0
- package/dist/node/index.js.map +1 -0
- package/dist/{provider.d.ts → node/provider.d.ts} +6 -6
- package/dist/node/provider.d.ts.map +1 -0
- package/dist/{provider.js → node/provider.js} +18 -25
- package/dist/node/provider.js.map +1 -0
- package/dist/{types.d.ts → node/types.d.ts} +19 -19
- package/dist/node/types.d.ts.map +1 -0
- package/dist/node/types.js.map +1 -0
- package/package.json +22 -6
- package/data/networks.json +0 -37
- package/dist/bridge.d.ts.map +0 -1
- package/dist/bridge.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/evm-executor.d.ts +0 -64
- package/dist/evm-executor.d.ts.map +0 -1
- package/dist/evm-executor.js +0 -181
- package/dist/evm-executor.js.map +0 -1
- package/dist/provider.d.ts.map +0 -1
- package/dist/provider.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{bridge.d.ts → node/bridge.d.ts} +0 -0
- /package/dist/{types.js → node/types.js} +0 -0
package/README.md
CHANGED
|
@@ -4,31 +4,107 @@ Bridge tokens between Fast network and EVM chains.
|
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
|
+
Pure helpers only:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @fastxyz/allset-sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
FastWallet-backed withdrawals and intent execution:
|
|
14
|
+
|
|
7
15
|
```bash
|
|
8
|
-
npm install @fastxyz/sdk @fastxyz/
|
|
16
|
+
npm install @fastxyz/allset-sdk @fastxyz/sdk
|
|
9
17
|
```
|
|
10
18
|
|
|
19
|
+
`@fastxyz/sdk` is optional for pure helpers and EVM -> Fast deposits. Install it when you use `FastWallet` flows such as `sendToExternal(...)` or `executeIntent(...)`.
|
|
20
|
+
|
|
21
|
+
## Entrypoints
|
|
22
|
+
|
|
23
|
+
| Entrypoint | Use for | Browser-safe |
|
|
24
|
+
| --- | --- | --- |
|
|
25
|
+
| `@fastxyz/allset-sdk` | Pure deposit planners, intent builders, Fast address conversion | Yes |
|
|
26
|
+
| `@fastxyz/allset-sdk/core` | Explicit alias of the root pure helper surface | Yes |
|
|
27
|
+
| `@fastxyz/allset-sdk/browser` | Browser-safe frontend import path for pure helpers | Yes |
|
|
28
|
+
| `@fastxyz/allset-sdk/node` | Provider, executor, wallet, bridge execution, file-backed config | No |
|
|
29
|
+
|
|
11
30
|
## Quick Start
|
|
12
31
|
|
|
32
|
+
### Pure deposit planning
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
import { buildDepositTransaction } from '@fastxyz/allset-sdk';
|
|
36
|
+
|
|
37
|
+
const plan = buildDepositTransaction({
|
|
38
|
+
network: 'testnet',
|
|
39
|
+
chain: 'arbitrum',
|
|
40
|
+
token: 'USDC',
|
|
41
|
+
amount: 1_000_000n,
|
|
42
|
+
receiver: 'fast1receiveraddress...',
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
console.log(plan.to);
|
|
46
|
+
console.log(plan.data);
|
|
47
|
+
console.log(plan.value);
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
For deployments that are not bundled in the SDK yet, pass your own route config:
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
const plan = buildDepositTransaction({
|
|
54
|
+
network: 'mainnet',
|
|
55
|
+
chain: 'base',
|
|
56
|
+
token: 'fastUSDC',
|
|
57
|
+
amount: 1_000_000n,
|
|
58
|
+
receiver: 'fast1receiveraddress...',
|
|
59
|
+
networkConfig: {
|
|
60
|
+
chains: {
|
|
61
|
+
base: {
|
|
62
|
+
chainId: 8453,
|
|
63
|
+
bridgeContract: '0xYourAllSetBridge',
|
|
64
|
+
tokens: {
|
|
65
|
+
USDC: {
|
|
66
|
+
evmAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
67
|
+
decimals: 6,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
This is the intended temporary path for Base mainnet until the authoritative deployment config is published in the SDK defaults.
|
|
77
|
+
|
|
78
|
+
### Node execution
|
|
79
|
+
|
|
13
80
|
```ts
|
|
14
81
|
import { FastProvider, FastWallet } from '@fastxyz/sdk';
|
|
15
|
-
import {
|
|
82
|
+
import {
|
|
83
|
+
AllSetProvider,
|
|
84
|
+
createEvmExecutor,
|
|
85
|
+
createEvmWallet,
|
|
86
|
+
} from '@fastxyz/allset-sdk/node';
|
|
16
87
|
|
|
17
|
-
// Setup
|
|
18
88
|
const fastProvider = new FastProvider({ network: 'testnet' });
|
|
19
89
|
const allset = new AllSetProvider({ network: 'testnet' });
|
|
20
90
|
const fastWallet = await FastWallet.fromKeyfile('~/.fast/keys/default.json', fastProvider);
|
|
21
|
-
|
|
91
|
+
|
|
92
|
+
// Create EVM account
|
|
93
|
+
const account = createEvmWallet('~/.evm/keys/default.json');
|
|
94
|
+
// Or: const account = createEvmWallet('0xprivateKey...');
|
|
95
|
+
// Or: const account = createEvmWallet(); // persist account.privateKey if generated
|
|
96
|
+
|
|
97
|
+
// Create EVM clients
|
|
98
|
+
const evmClients = createEvmExecutor(account, 'https://sepolia-rollup.arbitrum.io/rpc', 421614);
|
|
22
99
|
|
|
23
100
|
// Deposit: EVM → Fast
|
|
24
|
-
const evmExecutor = createEvmExecutor(evmWallet.privateKey, 'https://sepolia-rollup.arbitrum.io/rpc', 421614);
|
|
25
101
|
await allset.sendToFast({
|
|
26
102
|
chain: 'arbitrum',
|
|
27
103
|
token: 'USDC',
|
|
28
104
|
amount: '1000000',
|
|
29
|
-
from:
|
|
105
|
+
from: account.address,
|
|
30
106
|
to: fastWallet.address,
|
|
31
|
-
|
|
107
|
+
evmClients,
|
|
32
108
|
});
|
|
33
109
|
|
|
34
110
|
// Withdraw: Fast → EVM
|
|
@@ -37,17 +113,66 @@ await allset.sendToExternal({
|
|
|
37
113
|
token: 'fastUSDC',
|
|
38
114
|
amount: '1000000',
|
|
39
115
|
from: fastWallet.address,
|
|
40
|
-
to:
|
|
116
|
+
to: account.address,
|
|
41
117
|
fastWallet,
|
|
42
118
|
});
|
|
43
119
|
```
|
|
44
120
|
|
|
121
|
+
## createEvmWallet
|
|
122
|
+
|
|
123
|
+
Returns an Account-compatible object with viem signing methods and `privateKey`.
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
// Generate new wallet
|
|
127
|
+
const generatedAccount = createEvmWallet();
|
|
128
|
+
console.log(generatedAccount.privateKey); // persist this if you generated it
|
|
129
|
+
|
|
130
|
+
// Derive from private key
|
|
131
|
+
const derivedAccount = createEvmWallet('0x1234...64hexchars');
|
|
132
|
+
|
|
133
|
+
// Load from keyfile
|
|
134
|
+
const keyfileAccount = createEvmWallet('~/.evm/keys/default.json');
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Keyfile format:**
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"privateKey": "abc123...64hexchars",
|
|
141
|
+
"address": "0x..." // optional, for reference
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## createEvmExecutor
|
|
146
|
+
|
|
147
|
+
Returns `{ walletClient, publicClient }` for EVM operations.
|
|
148
|
+
|
|
149
|
+
```ts
|
|
150
|
+
const { walletClient, publicClient } = createEvmExecutor(account, rpcUrl, chainId);
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Accepts viem `Account` values, including the objects returned by `createEvmWallet()`.
|
|
154
|
+
|
|
155
|
+
### Pure intent builders
|
|
156
|
+
|
|
157
|
+
```ts
|
|
158
|
+
import {
|
|
159
|
+
buildTransferIntent,
|
|
160
|
+
buildExecuteIntent,
|
|
161
|
+
buildDepositBackIntent,
|
|
162
|
+
} from '@fastxyz/allset-sdk/browser';
|
|
163
|
+
|
|
164
|
+
const intents = [
|
|
165
|
+
buildTransferIntent('0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d', '0xRecipient'),
|
|
166
|
+
buildExecuteIntent('0xContractAddress', '0xabcdef'),
|
|
167
|
+
buildDepositBackIntent('0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d', 'fast1receiveraddress...'),
|
|
168
|
+
];
|
|
169
|
+
```
|
|
170
|
+
|
|
45
171
|
## Advanced: Custom Intents
|
|
46
172
|
|
|
47
173
|
```ts
|
|
48
|
-
import {
|
|
174
|
+
import { buildExecuteIntent, buildTransferIntent } from '@fastxyz/allset-sdk';
|
|
49
175
|
|
|
50
|
-
// Execute custom intents on EVM chain
|
|
51
176
|
await allset.executeIntent({
|
|
52
177
|
chain: 'arbitrum',
|
|
53
178
|
fastWallet,
|
|
@@ -55,21 +180,66 @@ await allset.executeIntent({
|
|
|
55
180
|
amount: '1000000',
|
|
56
181
|
intents: [
|
|
57
182
|
buildTransferIntent(USDC_ADDRESS, '0xRecipient'),
|
|
58
|
-
|
|
183
|
+
buildExecuteIntent(CONTRACT_ADDRESS, '0xabcdef'),
|
|
59
184
|
],
|
|
60
185
|
});
|
|
61
186
|
```
|
|
62
187
|
|
|
63
|
-
For intents without a transfer recipient or execute target, pass `externalAddress` so the relayer has an explicit EVM target.
|
|
64
|
-
|
|
65
188
|
## Supported Networks
|
|
66
189
|
|
|
67
190
|
| Network | Chain | Status |
|
|
68
|
-
|
|
191
|
+
| --- | --- | --- |
|
|
69
192
|
| Testnet | Arbitrum Sepolia | ✅ |
|
|
70
193
|
| Testnet | Ethereum Sepolia | ✅ |
|
|
194
|
+
| Testnet | Base (mainnet chain) | ✅ |
|
|
71
195
|
| Mainnet | Coming soon | 🔜 |
|
|
72
196
|
|
|
197
|
+
## Current Hosted Endpoints
|
|
198
|
+
|
|
199
|
+
These are the currently used hosted endpoints and token IDs for the public testnet environment:
|
|
200
|
+
|
|
201
|
+
- Portal: `https://testnet.allset.fast.xyz`
|
|
202
|
+
- Fast proxy: `https://testnet.api.fast.xyz/proxy`
|
|
203
|
+
- Cross-sign: `https://testnet.cross-sign.allset.fast.xyz`
|
|
204
|
+
|
|
205
|
+
Current Fast token IDs:
|
|
206
|
+
|
|
207
|
+
- `testUSDC` testnet token id
|
|
208
|
+
- Base64: `nFL+lGX1e8UmwRqgwEj9hwmqRqvAbRXIDL7ZJj1NTfg=`
|
|
209
|
+
- Hex: `9c52fe9465f57bc526c11aa0c048fd8709aa46abc06d15c80cbed9263d4d4df8`
|
|
210
|
+
- `fastUSDC` mainnet token id
|
|
211
|
+
- Base64: `tP2rhGNydA90frS2SsDCLqoVkRPy01sHUCcGX7pBk2U=`
|
|
212
|
+
- Hex: `b4fdab846372740f747eb4b64ac0c22eaa159113f2d35b075027065fba419365`
|
|
213
|
+
|
|
214
|
+
Bundled testnet chain routes:
|
|
215
|
+
|
|
216
|
+
- Ethereum Sepolia
|
|
217
|
+
- Bridge contract: `0x67C5f02df93f2144C6a4e4Fb48D92cE91Cfbc3A6`
|
|
218
|
+
- Fast bridge: `fast1fxtkgpwcy7hnakw96gg7relph4wxx7ghrukm723p3l9adxuxljzsc6f958`
|
|
219
|
+
- Relayer base URL: `https://testnet.allset.fast.xyz/ethereum-sepolia/relayer`
|
|
220
|
+
- Bundled relayer submit URL: `https://testnet.allset.fast.xyz/ethereum-sepolia/relayer/relay`
|
|
221
|
+
- Fast token id: `testUSDC`
|
|
222
|
+
- Arbitrum Sepolia
|
|
223
|
+
- Bridge contract: `0x67C5f02df93f2144C6a4e4Fb48D92cE91Cfbc3A6`
|
|
224
|
+
- Fast bridge: `fast1tkmtqxulhnzeeg9zhuwxy3x95wr7waytm9cq40ndf7tkuwwcc6jseg24j8`
|
|
225
|
+
- Relayer base URL: `https://testnet.allset.fast.xyz/arbitrum-sepolia/relayer`
|
|
226
|
+
- Bundled relayer submit URL: `https://testnet.allset.fast.xyz/arbitrum-sepolia/relayer/relay`
|
|
227
|
+
- Fast token id: `testUSDC`
|
|
228
|
+
- Base
|
|
229
|
+
- Bridge contract: `0x41cE437493f2a9DDA9214aE7b3662175bBe54a6c`
|
|
230
|
+
- Fast bridge: `fast1a4fza9xc8jcm7jp64a0ugtuyw3hkkmje02e8af9aaer4r0je4dpqz4uf58`
|
|
231
|
+
- Relayer base URL: `https://testnet.allset.fast.xyz/base/relayer`
|
|
232
|
+
- Bundled relayer submit URL: `https://testnet.allset.fast.xyz/base/relayer/relay`
|
|
233
|
+
- Bundled Fast token id: `fastUSDC`
|
|
234
|
+
|
|
235
|
+
Note: the SDK currently posts to the explicit `/relay` endpoint. The plain `/relayer` URL above is included as a reference base URL.
|
|
236
|
+
|
|
237
|
+
## Migration
|
|
238
|
+
|
|
239
|
+
- Root imports are now pure-helper only.
|
|
240
|
+
- Move provider, executor, wallet, and config imports to `@fastxyz/allset-sdk/node`.
|
|
241
|
+
- Use the root, `core`, or `browser` entrypoints for deposit planning and intent building.
|
|
242
|
+
|
|
73
243
|
## Documentation
|
|
74
244
|
|
|
75
245
|
See [SKILL.md](./SKILL.md) for detailed API documentation.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/core/address.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAMjD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAoBzD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { bech32m } from 'bech32';
|
|
2
|
+
export function bytesToHex(bytes) {
|
|
3
|
+
let hex = '';
|
|
4
|
+
for (const byte of bytes) {
|
|
5
|
+
hex += byte.toString(16).padStart(2, '0');
|
|
6
|
+
}
|
|
7
|
+
return `0x${hex}`;
|
|
8
|
+
}
|
|
9
|
+
export function fastAddressToBytes32(address) {
|
|
10
|
+
let decoded;
|
|
11
|
+
try {
|
|
12
|
+
decoded = bech32m.decode(address, 90);
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
throw new Error(`Invalid Fast address "${address}": ${error.message}`);
|
|
16
|
+
}
|
|
17
|
+
const { prefix, words } = decoded;
|
|
18
|
+
if (prefix !== 'fast') {
|
|
19
|
+
throw new Error(`Fast address must use the "fast" prefix. Got: "${prefix}"`);
|
|
20
|
+
}
|
|
21
|
+
const bytes = new Uint8Array(bech32m.fromWords(words));
|
|
22
|
+
if (bytes.length !== 32) {
|
|
23
|
+
throw new Error(`Fast address must decode to 32 bytes. Got: ${bytes.length}`);
|
|
24
|
+
}
|
|
25
|
+
return bytesToHex(bytes);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/core/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,GAAG,EAAS,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,IAAI,OAA0C,CAAC;IAE/C,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,MAAO,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAClC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export interface DepositPlanningTokenConfig {
|
|
2
|
+
evmAddress: string;
|
|
3
|
+
decimals: number;
|
|
4
|
+
isNative?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface DepositPlanningChainConfig {
|
|
7
|
+
chainId: number;
|
|
8
|
+
bridgeContract: string;
|
|
9
|
+
tokens: Record<string, DepositPlanningTokenConfig>;
|
|
10
|
+
}
|
|
11
|
+
export interface DepositPlanningNetworkConfig {
|
|
12
|
+
chains: Record<string, DepositPlanningChainConfig>;
|
|
13
|
+
}
|
|
14
|
+
export interface DepositRouteOverrides {
|
|
15
|
+
bridgeAddress?: string;
|
|
16
|
+
tokenAddress?: string;
|
|
17
|
+
chainId?: number;
|
|
18
|
+
decimals?: number;
|
|
19
|
+
isNative?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface ResolveDepositRouteParams {
|
|
22
|
+
network?: 'testnet' | 'mainnet';
|
|
23
|
+
chain: string;
|
|
24
|
+
token: string;
|
|
25
|
+
overrides?: DepositRouteOverrides;
|
|
26
|
+
networkConfig?: DepositPlanningNetworkConfig;
|
|
27
|
+
}
|
|
28
|
+
export interface DepositRoute {
|
|
29
|
+
network: 'testnet' | 'mainnet';
|
|
30
|
+
chain: string;
|
|
31
|
+
token: string;
|
|
32
|
+
chainId: number;
|
|
33
|
+
bridgeAddress: `0x${string}`;
|
|
34
|
+
tokenAddress: `0x${string}`;
|
|
35
|
+
decimals: number;
|
|
36
|
+
isNative: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface EncodeDepositCalldataParams {
|
|
39
|
+
tokenAddress: string;
|
|
40
|
+
amount: bigint;
|
|
41
|
+
receiverBytes32: `0x${string}`;
|
|
42
|
+
}
|
|
43
|
+
export interface BuildDepositTransactionParams extends ResolveDepositRouteParams {
|
|
44
|
+
amount: bigint;
|
|
45
|
+
receiver: string;
|
|
46
|
+
}
|
|
47
|
+
export interface DepositTransactionPlan {
|
|
48
|
+
chainId: number;
|
|
49
|
+
to: `0x${string}`;
|
|
50
|
+
data: `0x${string}`;
|
|
51
|
+
value: bigint;
|
|
52
|
+
receiverBytes32: `0x${string}`;
|
|
53
|
+
route: DepositRoute;
|
|
54
|
+
}
|
|
55
|
+
export declare function resolveDepositRoute(params: ResolveDepositRouteParams): DepositRoute;
|
|
56
|
+
export declare function encodeDepositCalldata(params: EncodeDepositCalldataParams): `0x${string}`;
|
|
57
|
+
export declare function buildDepositTransactionFromRoute(route: DepositRoute, amount: bigint, receiver: string): DepositTransactionPlan;
|
|
58
|
+
export declare function buildDepositTransaction(params: BuildDepositTransactionParams): DepositTransactionPlan;
|
|
59
|
+
//# sourceMappingURL=deposit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../src/core/deposit.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,aAAa,CAAC,EAAE,4BAA4B,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC;CACrB;AAiDD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,YAAY,CA6BnF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,KAAK,MAAM,EAAE,CAUxF;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,sBAAsB,CAcxB;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,6BAA6B,GACpC,sBAAsB,CAGxB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { encodeFunctionData } from 'viem';
|
|
2
|
+
import { DEFAULT_NETWORKS_CONFIG } from '../default-config.js';
|
|
3
|
+
import { fastAddressToBytes32 } from './address.js';
|
|
4
|
+
const BRIDGE_DEPOSIT_ABI = [{
|
|
5
|
+
type: 'function',
|
|
6
|
+
name: 'deposit',
|
|
7
|
+
inputs: [
|
|
8
|
+
{ name: 'token', type: 'address' },
|
|
9
|
+
{ name: 'amount', type: 'uint256' },
|
|
10
|
+
{ name: 'receiver', type: 'bytes32' },
|
|
11
|
+
],
|
|
12
|
+
outputs: [],
|
|
13
|
+
stateMutability: 'payable',
|
|
14
|
+
}];
|
|
15
|
+
function normalizeDepositToken(token) {
|
|
16
|
+
const lowerToken = token.toLowerCase();
|
|
17
|
+
if (lowerToken === 'fastusdc' || lowerToken === 'testusdc') {
|
|
18
|
+
return 'USDC';
|
|
19
|
+
}
|
|
20
|
+
return token;
|
|
21
|
+
}
|
|
22
|
+
function resolveTokenEntry(chainConfig, token) {
|
|
23
|
+
const normalizedToken = normalizeDepositToken(token);
|
|
24
|
+
const exactConfig = chainConfig.tokens[normalizedToken];
|
|
25
|
+
if (exactConfig) {
|
|
26
|
+
return { tokenKey: normalizedToken, tokenConfig: exactConfig };
|
|
27
|
+
}
|
|
28
|
+
const upperToken = normalizedToken.toUpperCase();
|
|
29
|
+
const upperConfig = chainConfig.tokens[upperToken];
|
|
30
|
+
if (upperConfig) {
|
|
31
|
+
return { tokenKey: upperToken, tokenConfig: upperConfig };
|
|
32
|
+
}
|
|
33
|
+
const loweredAddress = token.toLowerCase();
|
|
34
|
+
for (const [tokenKey, tokenConfig] of Object.entries(chainConfig.tokens)) {
|
|
35
|
+
if (tokenConfig.evmAddress.toLowerCase() === loweredAddress) {
|
|
36
|
+
return { tokenKey, tokenConfig };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
export function resolveDepositRoute(params) {
|
|
42
|
+
const network = params.network ?? 'testnet';
|
|
43
|
+
const networkConfig = params.networkConfig ?? DEFAULT_NETWORKS_CONFIG[network];
|
|
44
|
+
const chainConfig = networkConfig.chains[params.chain];
|
|
45
|
+
if (!chainConfig) {
|
|
46
|
+
throw new Error(`AllSet does not support EVM chain "${params.chain}" on ${network}. Supported: ${Object.keys(networkConfig.chains).join(', ') || 'none'}`);
|
|
47
|
+
}
|
|
48
|
+
const tokenEntry = resolveTokenEntry(chainConfig, params.token);
|
|
49
|
+
if (!tokenEntry) {
|
|
50
|
+
throw new Error(`Cannot resolve token "${params.token}" on AllSet for chain "${params.chain}".`);
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
network,
|
|
54
|
+
chain: params.chain,
|
|
55
|
+
token: tokenEntry.tokenKey,
|
|
56
|
+
chainId: params.overrides?.chainId ?? chainConfig.chainId,
|
|
57
|
+
bridgeAddress: (params.overrides?.bridgeAddress ?? chainConfig.bridgeContract),
|
|
58
|
+
tokenAddress: (params.overrides?.tokenAddress ?? tokenEntry.tokenConfig.evmAddress),
|
|
59
|
+
decimals: params.overrides?.decimals ?? tokenEntry.tokenConfig.decimals,
|
|
60
|
+
isNative: params.overrides?.isNative ?? tokenEntry.tokenConfig.isNative ?? false,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export function encodeDepositCalldata(params) {
|
|
64
|
+
return encodeFunctionData({
|
|
65
|
+
abi: BRIDGE_DEPOSIT_ABI,
|
|
66
|
+
functionName: 'deposit',
|
|
67
|
+
args: [
|
|
68
|
+
params.tokenAddress,
|
|
69
|
+
params.amount,
|
|
70
|
+
params.receiverBytes32,
|
|
71
|
+
],
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
export function buildDepositTransactionFromRoute(route, amount, receiver) {
|
|
75
|
+
const receiverBytes32 = fastAddressToBytes32(receiver);
|
|
76
|
+
return {
|
|
77
|
+
chainId: route.chainId,
|
|
78
|
+
to: route.bridgeAddress,
|
|
79
|
+
data: encodeDepositCalldata({
|
|
80
|
+
tokenAddress: route.tokenAddress,
|
|
81
|
+
amount,
|
|
82
|
+
receiverBytes32,
|
|
83
|
+
}),
|
|
84
|
+
value: route.isNative ? amount : 0n,
|
|
85
|
+
receiverBytes32,
|
|
86
|
+
route,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export function buildDepositTransaction(params) {
|
|
90
|
+
const route = resolveDepositRoute(params);
|
|
91
|
+
return buildDepositTransactionFromRoute(route, params.amount, params.receiver);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=deposit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../src/core/deposit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { buildDepositTransaction, encodeDepositCalldata, resolveDepositRoute, } from './deposit.js';
|
|
2
|
+
export { fastAddressToBytes32 } from './address.js';
|
|
3
|
+
export { IntentAction, buildTransferIntent, buildExecuteIntent, buildDepositBackIntent, buildRevokeIntent, } from '../intents.js';
|
|
4
|
+
export type { Intent } from '../intents.js';
|
|
5
|
+
export type { BuildDepositTransactionParams, DepositPlanningChainConfig, DepositPlanningNetworkConfig, DepositPlanningTokenConfig, DepositRoute, DepositRouteOverrides, DepositTransactionPlan, EncodeDepositCalldataParams, ResolveDepositRouteParams, } from './deposit.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { buildDepositTransaction, encodeDepositCalldata, resolveDepositRoute, } from './deposit.js';
|
|
2
|
+
export { fastAddressToBytes32 } from './address.js';
|
|
3
|
+
export { IntentAction, buildTransferIntent, buildExecuteIntent, buildDepositBackIntent, buildRevokeIntent, } from '../intents.js';
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export declare const DEFAULT_NETWORKS_CONFIG: {
|
|
2
|
+
testnet: {
|
|
3
|
+
crossSignUrl: string;
|
|
4
|
+
chains: {
|
|
5
|
+
ethereum: {
|
|
6
|
+
chainId: number;
|
|
7
|
+
bridgeContract: string;
|
|
8
|
+
fastBridgeAddress: string;
|
|
9
|
+
relayerUrl: string;
|
|
10
|
+
tokens: {
|
|
11
|
+
USDC: {
|
|
12
|
+
evmAddress: string;
|
|
13
|
+
fastTokenId: string;
|
|
14
|
+
decimals: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
arbitrum: {
|
|
19
|
+
chainId: number;
|
|
20
|
+
bridgeContract: string;
|
|
21
|
+
fastBridgeAddress: string;
|
|
22
|
+
relayerUrl: string;
|
|
23
|
+
tokens: {
|
|
24
|
+
USDC: {
|
|
25
|
+
evmAddress: string;
|
|
26
|
+
fastTokenId: string;
|
|
27
|
+
decimals: number;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
base: {
|
|
32
|
+
chainId: number;
|
|
33
|
+
bridgeContract: string;
|
|
34
|
+
fastBridgeAddress: string;
|
|
35
|
+
relayerUrl: string;
|
|
36
|
+
tokens: {
|
|
37
|
+
USDC: {
|
|
38
|
+
evmAddress: string;
|
|
39
|
+
fastTokenId: string;
|
|
40
|
+
decimals: number;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
mainnet: {
|
|
47
|
+
crossSignUrl: string;
|
|
48
|
+
chains: {};
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=default-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../src/default-config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDP,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Single source of truth for the SDK's bundled default network support matrix.
|
|
2
|
+
export const DEFAULT_NETWORKS_CONFIG = {
|
|
3
|
+
testnet: {
|
|
4
|
+
crossSignUrl: 'https://testnet.cross-sign.allset.fast.xyz',
|
|
5
|
+
chains: {
|
|
6
|
+
ethereum: {
|
|
7
|
+
chainId: 11155111,
|
|
8
|
+
bridgeContract: '0x67C5f02df93f2144C6a4e4Fb48D92cE91Cfbc3A6',
|
|
9
|
+
fastBridgeAddress: 'fast1fxtkgpwcy7hnakw96gg7relph4wxx7ghrukm723p3l9adxuxljzsc6f958',
|
|
10
|
+
relayerUrl: 'https://testnet.allset.fast.xyz/ethereum-sepolia/relayer/relay',
|
|
11
|
+
tokens: {
|
|
12
|
+
USDC: {
|
|
13
|
+
evmAddress: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
|
|
14
|
+
fastTokenId: '9c52fe9465f57bc526c11aa0c048fd8709aa46abc06d15c80cbed9263d4d4df8',
|
|
15
|
+
decimals: 6,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
arbitrum: {
|
|
20
|
+
chainId: 421614,
|
|
21
|
+
bridgeContract: '0x67C5f02df93f2144C6a4e4Fb48D92cE91Cfbc3A6',
|
|
22
|
+
fastBridgeAddress: 'fast1tkmtqxulhnzeeg9zhuwxy3x95wr7waytm9cq40ndf7tkuwwcc6jseg24j8',
|
|
23
|
+
relayerUrl: 'https://testnet.allset.fast.xyz/arbitrum-sepolia/relayer/relay',
|
|
24
|
+
tokens: {
|
|
25
|
+
USDC: {
|
|
26
|
+
evmAddress: '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d',
|
|
27
|
+
fastTokenId: '9c52fe9465f57bc526c11aa0c048fd8709aa46abc06d15c80cbed9263d4d4df8',
|
|
28
|
+
decimals: 6,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
base: {
|
|
33
|
+
chainId: 8453,
|
|
34
|
+
bridgeContract: '0x41cE437493f2a9DDA9214aE7b3662175bBe54a6c',
|
|
35
|
+
fastBridgeAddress: 'fast1a4fza9xc8jcm7jp64a0ugtuyw3hkkmje02e8af9aaer4r0je4dpqz4uf58',
|
|
36
|
+
relayerUrl: 'https://testnet.allset.fast.xyz/base/relayer/relay',
|
|
37
|
+
tokens: {
|
|
38
|
+
USDC: {
|
|
39
|
+
evmAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
40
|
+
fastTokenId: 'b4fdab846372740f747eb4b64ac0c22eaa159113f2d35b075027065fba419365',
|
|
41
|
+
decimals: 6,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
mainnet: {
|
|
48
|
+
crossSignUrl: 'https://cross-sign.allset.fast.xyz',
|
|
49
|
+
chains: {},
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=default-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-config.js","sourceRoot":"","sources":["../src/default-config.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE;QACP,YAAY,EAAE,4CAA4C;QAC1D,MAAM,EAAE;YACN,QAAQ,EAAE;gBACR,OAAO,EAAE,QAAQ;gBACjB,cAAc,EAAE,4CAA4C;gBAC5D,iBAAiB,EAAE,iEAAiE;gBACpF,UAAU,EAAE,gEAAgE;gBAC5E,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,UAAU,EAAE,4CAA4C;wBACxD,WAAW,EAAE,kEAAkE;wBAC/E,QAAQ,EAAE,CAAC;qBACZ;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,4CAA4C;gBAC5D,iBAAiB,EAAE,iEAAiE;gBACpF,UAAU,EAAE,gEAAgE;gBAC5E,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,UAAU,EAAE,4CAA4C;wBACxD,WAAW,EAAE,kEAAkE;wBAC/E,QAAQ,EAAE,CAAC;qBACZ;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,4CAA4C;gBAC5D,iBAAiB,EAAE,iEAAiE;gBACpF,UAAU,EAAE,oDAAoD;gBAChE,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,UAAU,EAAE,4CAA4C;wBACxD,WAAW,EAAE,kEAAkE;wBAC/E,QAAQ,EAAE,CAAC;qBACZ;iBACF;aACF;SACF;KACF;IACD,OAAO,EAAE;QACP,YAAY,EAAE,oCAAoC;QAClD,MAAM,EAAE,EAAE;KACX;CAC0B,CAAC"}
|