@fastxyz/allset-sdk 0.1.1 → 0.1.3
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 +206 -69
- 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 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/intents.d.ts +94 -0
- package/dist/intents.d.ts.map +1 -0
- package/dist/intents.js +120 -0
- package/dist/intents.js.map +1 -0
- package/dist/node/bridge.d.ts +55 -0
- package/dist/node/bridge.d.ts.map +1 -0
- package/dist/node/bridge.js +496 -0
- package/dist/node/bridge.js.map +1 -0
- package/dist/node/config.d.ts +45 -0
- package/dist/node/config.d.ts.map +1 -0
- package/dist/node/config.js +49 -0
- 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/node/provider.d.ts +162 -0
- package/dist/node/provider.d.ts.map +1 -0
- package/dist/node/provider.js +269 -0
- package/dist/node/provider.js.map +1 -0
- package/dist/node/types.d.ts +111 -0
- package/dist/node/types.d.ts.map +1 -0
- package/dist/node/types.js.map +1 -0
- package/package.json +23 -2
- package/dist/bridge.d.ts +0 -12
- package/dist/bridge.d.ts.map +0 -1
- package/dist/bridge.js +0 -305
- package/dist/bridge.js.map +0 -1
- package/dist/evm-executor.d.ts +0 -28
- package/dist/evm-executor.d.ts.map +0 -1
- package/dist/evm-executor.js +0 -92
- package/dist/evm-executor.js.map +0 -1
- package/dist/fast-client.d.ts +0 -57
- package/dist/fast-client.d.ts.map +0 -1
- package/dist/fast-client.js +0 -335
- package/dist/fast-client.js.map +0 -1
- package/dist/fast-compat.d.ts +0 -13
- package/dist/fast-compat.d.ts.map +0 -1
- package/dist/fast-compat.js +0 -22
- package/dist/fast-compat.js.map +0 -1
- package/dist/types.d.ts +0 -68
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{types.js → node/types.js} +0 -0
package/README.md
CHANGED
|
@@ -1,112 +1,249 @@
|
|
|
1
1
|
# AllSet SDK
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Bridge tokens between Fast network and EVM chains.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Pure helpers only:
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
10
|
npm install @fastxyz/allset-sdk
|
|
9
11
|
```
|
|
10
12
|
|
|
13
|
+
FastWallet-backed withdrawals and intent execution:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install @fastxyz/allset-sdk @fastxyz/sdk
|
|
17
|
+
```
|
|
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
|
|
|
13
|
-
###
|
|
32
|
+
### Pure deposit planning
|
|
14
33
|
|
|
15
34
|
```ts
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
'
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const result = await allsetProvider.bridge({
|
|
25
|
-
fromChain: 'arbitrum',
|
|
26
|
-
toChain: 'fast',
|
|
27
|
-
fromToken: 'USDC',
|
|
28
|
-
toToken: 'fastUSDC',
|
|
29
|
-
fromDecimals: 6,
|
|
30
|
-
amount: '1000000', // 1 USDC (6 decimals)
|
|
31
|
-
senderAddress: '0xYourEvmAddress',
|
|
32
|
-
receiverAddress: 'fast1yourfastaddress',
|
|
33
|
-
evmExecutor,
|
|
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...',
|
|
34
43
|
});
|
|
35
44
|
|
|
36
|
-
console.log(
|
|
45
|
+
console.log(plan.to);
|
|
46
|
+
console.log(plan.data);
|
|
47
|
+
console.log(plan.value);
|
|
37
48
|
```
|
|
38
49
|
|
|
39
|
-
|
|
50
|
+
For deployments that are not bundled in the SDK yet, pass your own route config:
|
|
40
51
|
|
|
41
52
|
```ts
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
+
});
|
|
47
74
|
```
|
|
48
75
|
|
|
49
|
-
|
|
76
|
+
This is the intended temporary path for Base mainnet until the authoritative deployment config is published in the SDK defaults.
|
|
50
77
|
|
|
51
|
-
|
|
52
|
-
import { createFastClient, allsetProvider } from '@fastxyz/allset-sdk';
|
|
78
|
+
### Node execution
|
|
53
79
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
80
|
+
```ts
|
|
81
|
+
import { FastProvider, FastWallet } from '@fastxyz/sdk';
|
|
82
|
+
import {
|
|
83
|
+
AllSetProvider,
|
|
84
|
+
createEvmExecutor,
|
|
85
|
+
createEvmWallet,
|
|
86
|
+
} from '@fastxyz/allset-sdk/node';
|
|
87
|
+
|
|
88
|
+
const fastProvider = new FastProvider({ network: 'testnet' });
|
|
89
|
+
const allset = new AllSetProvider({ network: 'testnet' });
|
|
90
|
+
const fastWallet = await FastWallet.fromKeyfile('~/.fast/keys/default.json', fastProvider);
|
|
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);
|
|
99
|
+
|
|
100
|
+
// Deposit: EVM → Fast
|
|
101
|
+
await allset.sendToFast({
|
|
102
|
+
chain: 'arbitrum',
|
|
103
|
+
token: 'USDC',
|
|
104
|
+
amount: '1000000',
|
|
105
|
+
from: account.address,
|
|
106
|
+
to: fastWallet.address,
|
|
107
|
+
evmClients,
|
|
57
108
|
});
|
|
58
109
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
receiverAddress: '0xYourEvmAddress',
|
|
68
|
-
fastClient,
|
|
110
|
+
// Withdraw: Fast → EVM
|
|
111
|
+
await allset.sendToExternal({
|
|
112
|
+
chain: 'arbitrum',
|
|
113
|
+
token: 'fastUSDC',
|
|
114
|
+
amount: '1000000',
|
|
115
|
+
from: fastWallet.address,
|
|
116
|
+
to: account.address,
|
|
117
|
+
fastWallet,
|
|
69
118
|
});
|
|
70
|
-
|
|
71
|
-
console.log(result.txHash);
|
|
72
|
-
// { txHash: '0x...', orderId: '0x...', estimatedTime: '1-5 minutes' }
|
|
73
119
|
```
|
|
74
120
|
|
|
75
|
-
|
|
121
|
+
## createEvmWallet
|
|
76
122
|
|
|
77
|
-
|
|
123
|
+
Returns an Account-compatible object with viem signing methods and `privateKey`.
|
|
78
124
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
- **Fast Wallet Generator** - Generate a Fast keypair and address without another SDK
|
|
125
|
+
```ts
|
|
126
|
+
// Generate new wallet
|
|
127
|
+
const generatedAccount = createEvmWallet();
|
|
128
|
+
console.log(generatedAccount.privateKey); // persist this if you generated it
|
|
84
129
|
|
|
85
|
-
|
|
130
|
+
// Derive from private key
|
|
131
|
+
const derivedAccount = createEvmWallet('0x1234...64hexchars');
|
|
86
132
|
|
|
87
|
-
|
|
133
|
+
// Load from keyfile
|
|
134
|
+
const keyfileAccount = createEvmWallet('~/.evm/keys/default.json');
|
|
135
|
+
```
|
|
88
136
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
137
|
+
**Keyfile format:**
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"privateKey": "abc123...64hexchars",
|
|
141
|
+
"address": "0x..." // optional, for reference
|
|
142
|
+
}
|
|
143
|
+
```
|
|
92
144
|
|
|
93
|
-
|
|
145
|
+
## createEvmExecutor
|
|
94
146
|
|
|
95
|
-
|
|
96
|
-
- Testnet: Sepolia, Arbitrum Sepolia, Tempo with testnet `USDC` -> `testUSDC`
|
|
147
|
+
Returns `{ walletClient, publicClient }` for EVM operations.
|
|
97
148
|
|
|
98
|
-
|
|
149
|
+
```ts
|
|
150
|
+
const { walletClient, publicClient } = createEvmExecutor(account, rpcUrl, chainId);
|
|
151
|
+
```
|
|
99
152
|
|
|
100
|
-
|
|
153
|
+
Accepts viem `Account` values, including the objects returned by `createEvmWallet()`.
|
|
101
154
|
|
|
102
|
-
|
|
155
|
+
### Pure intent builders
|
|
103
156
|
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
+
|
|
171
|
+
## Advanced: Custom Intents
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
import { buildExecuteIntent, buildTransferIntent } from '@fastxyz/allset-sdk';
|
|
175
|
+
|
|
176
|
+
await allset.executeIntent({
|
|
177
|
+
chain: 'arbitrum',
|
|
178
|
+
fastWallet,
|
|
179
|
+
token: 'fastUSDC',
|
|
180
|
+
amount: '1000000',
|
|
181
|
+
intents: [
|
|
182
|
+
buildTransferIntent(USDC_ADDRESS, '0xRecipient'),
|
|
183
|
+
buildExecuteIntent(CONTRACT_ADDRESS, '0xabcdef'),
|
|
184
|
+
],
|
|
185
|
+
});
|
|
108
186
|
```
|
|
109
187
|
|
|
188
|
+
## Supported Networks
|
|
189
|
+
|
|
190
|
+
| Network | Chain | Status |
|
|
191
|
+
| --- | --- | --- |
|
|
192
|
+
| Testnet | Arbitrum Sepolia | ✅ |
|
|
193
|
+
| Testnet | Ethereum Sepolia | ✅ |
|
|
194
|
+
| Testnet | Base (mainnet chain) | ✅ |
|
|
195
|
+
| Mainnet | Coming soon | 🔜 |
|
|
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
|
+
|
|
243
|
+
## Documentation
|
|
244
|
+
|
|
245
|
+
See [SKILL.md](./SKILL.md) for detailed API documentation.
|
|
246
|
+
|
|
110
247
|
## License
|
|
111
248
|
|
|
112
249
|
MIT
|
|
@@ -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"}
|