@shroud-fi/relayer 0.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/LICENSE +21 -0
- package/README.md +57 -0
- package/dist/cjs/constants.d.ts +41 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +49 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/errors.d.ts +56 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js +85 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/eth-sweep.d.ts +36 -0
- package/dist/cjs/eth-sweep.d.ts.map +1 -0
- package/dist/cjs/eth-sweep.js +193 -0
- package/dist/cjs/eth-sweep.js.map +1 -0
- package/dist/cjs/gelato-adapter.d.ts +69 -0
- package/dist/cjs/gelato-adapter.d.ts.map +1 -0
- package/dist/cjs/gelato-adapter.js +209 -0
- package/dist/cjs/gelato-adapter.js.map +1 -0
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +26 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/relayer.d.ts +23 -0
- package/dist/cjs/relayer.d.ts.map +1 -0
- package/dist/cjs/relayer.js +149 -0
- package/dist/cjs/relayer.js.map +1 -0
- package/dist/cjs/signing.d.ts +24 -0
- package/dist/cjs/signing.d.ts.map +1 -0
- package/dist/cjs/signing.js +155 -0
- package/dist/cjs/signing.js.map +1 -0
- package/dist/cjs/types.d.ts +88 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/constants.d.ts +41 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +46 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/errors.d.ts +56 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +74 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/eth-sweep.d.ts +36 -0
- package/dist/esm/eth-sweep.d.ts.map +1 -0
- package/dist/esm/eth-sweep.js +190 -0
- package/dist/esm/eth-sweep.js.map +1 -0
- package/dist/esm/gelato-adapter.d.ts +69 -0
- package/dist/esm/gelato-adapter.d.ts.map +1 -0
- package/dist/esm/gelato-adapter.js +205 -0
- package/dist/esm/gelato-adapter.js.map +1 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/relayer.d.ts +23 -0
- package/dist/esm/relayer.d.ts.map +1 -0
- package/dist/esm/relayer.js +146 -0
- package/dist/esm/relayer.js.map +1 -0
- package/dist/esm/signing.d.ts +24 -0
- package/dist/esm/signing.d.ts.map +1 -0
- package/dist/esm/signing.js +152 -0
- package/dist/esm/signing.js.map +1 -0
- package/dist/esm/types.d.ts +88 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { Address, Hex } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Gelato task identifier returned by `sponsoredCallERC2771`.
|
|
4
|
+
* Opaque string the SDK uses to poll status.
|
|
5
|
+
*/
|
|
6
|
+
export type GelatoTaskId = string;
|
|
7
|
+
/**
|
|
8
|
+
* Terminal + in-flight states the SDK surfaces to the caller.
|
|
9
|
+
* Mapped from Gelato's `TaskState` plus our own `'submitted'` initial state.
|
|
10
|
+
*/
|
|
11
|
+
export type RelayerSweepStatus = 'submitted' | 'pending' | 'success' | 'failed' | 'cancelled';
|
|
12
|
+
/**
|
|
13
|
+
* EIP-2612 permit signature components plus deadline.
|
|
14
|
+
* `v / r / s` are passed verbatim to `sweepERC20WithPermit`.
|
|
15
|
+
*
|
|
16
|
+
* Privacy: never log or serialize this struct — the signature is a
|
|
17
|
+
* spending-authorization credential equivalent to a one-time approval.
|
|
18
|
+
*/
|
|
19
|
+
export interface Eip2612PermitSignature {
|
|
20
|
+
readonly v: number;
|
|
21
|
+
readonly r: Hex;
|
|
22
|
+
readonly s: Hex;
|
|
23
|
+
readonly deadline: bigint;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Optional runtime overrides for {@link relayedSweepERC20}.
|
|
27
|
+
*
|
|
28
|
+
* All fields are optional; omitted fields use defaults from `constants.ts`.
|
|
29
|
+
*
|
|
30
|
+
* Privacy: `gelatoApiKey` is forwarded only to the Gelato adapter and never
|
|
31
|
+
* logged. The caller is responsible for sourcing it securely.
|
|
32
|
+
*/
|
|
33
|
+
export interface RelayerSweepOptions {
|
|
34
|
+
/** Override the EIP-2612 permit deadline lifetime in seconds. */
|
|
35
|
+
readonly deadlineSecs?: bigint;
|
|
36
|
+
/** Override poll interval (ms) for Gelato task status. */
|
|
37
|
+
readonly pollIntervalMs?: number;
|
|
38
|
+
/** Override hard timeout (ms) for the polling loop. */
|
|
39
|
+
readonly pollTimeoutMs?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Optional Gelato 1Balance sponsor API key. The Gelato SDK requires a
|
|
42
|
+
* non-empty string for sponsored calls; pass it here for production.
|
|
43
|
+
*/
|
|
44
|
+
readonly gelatoApiKey?: string;
|
|
45
|
+
/** Cancellation token. Aborts polling early. */
|
|
46
|
+
readonly signal?: AbortSignal;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Receipt for a completed relayed sweep.
|
|
50
|
+
*
|
|
51
|
+
* Privacy invariant: NO `amount` / `feeAmount` / `netAmount` fields.
|
|
52
|
+
* The caller can read pre-/post-sweep balances independently if it needs
|
|
53
|
+
* those values; the SDK never returns plaintext amounts.
|
|
54
|
+
*/
|
|
55
|
+
export interface RelayerSweepReceipt {
|
|
56
|
+
readonly taskId: GelatoTaskId;
|
|
57
|
+
readonly txHash: Hex;
|
|
58
|
+
readonly status: RelayerSweepStatus;
|
|
59
|
+
readonly relayerContract: Address;
|
|
60
|
+
readonly token: Address;
|
|
61
|
+
readonly destination: Address;
|
|
62
|
+
readonly blockNumber?: bigint;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Optional runtime overrides for {@link relayedSweepETH}.
|
|
66
|
+
*/
|
|
67
|
+
export interface RelayedEthSweepOptions {
|
|
68
|
+
/** Override the EIP-712 EthSweep deadline lifetime in seconds. */
|
|
69
|
+
readonly deadlineSecs?: bigint;
|
|
70
|
+
/** Override hard timeout (ms) for waitForTransactionReceipt. */
|
|
71
|
+
readonly pollTimeoutMs?: number;
|
|
72
|
+
/** Cancellation token. Forwarded to fetch + receipt polling. */
|
|
73
|
+
readonly signal?: AbortSignal;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Receipt for a completed ETH gasless sweep.
|
|
77
|
+
*
|
|
78
|
+
* Same privacy invariant as {@link RelayerSweepReceipt}: NO amount fields.
|
|
79
|
+
*/
|
|
80
|
+
export interface RelayedEthSweepReceipt {
|
|
81
|
+
readonly txHash: Hex;
|
|
82
|
+
readonly status: 'success';
|
|
83
|
+
readonly blockNumber: bigint;
|
|
84
|
+
readonly ethRelayerContract: Address;
|
|
85
|
+
readonly destination: Address;
|
|
86
|
+
readonly stealthAddress: Address;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,SAAS,GACT,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAChB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAChB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAID;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,gEAAgE;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|