@towns-labs/relayer-client 2.0.11 → 2.0.13
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 +8 -0
- package/dist/actions/checkHealth.d.ts.map +1 -1
- package/dist/actions/checkHealth.js +3 -1
- package/dist/actions/checkHealth.js.map +1 -1
- package/dist/actions/getCallsStatus.d.ts.map +1 -1
- package/dist/actions/getCallsStatus.js +3 -1
- package/dist/actions/getCallsStatus.js.map +1 -1
- package/dist/actions/getCapabilities.d.ts +2 -1
- package/dist/actions/getCapabilities.d.ts.map +1 -1
- package/dist/actions/getCapabilities.js +3 -1
- package/dist/actions/getCapabilities.js.map +1 -1
- package/dist/actions/getKeys.d.ts +9 -23
- package/dist/actions/getKeys.d.ts.map +1 -1
- package/dist/actions/getKeys.js +3 -1
- package/dist/actions/getKeys.js.map +1 -1
- package/dist/actions/prepareCalls.d.ts +4 -32
- package/dist/actions/prepareCalls.d.ts.map +1 -1
- package/dist/actions/prepareCalls.js +4 -1
- package/dist/actions/prepareCalls.js.map +1 -1
- package/dist/actions/sendPreparedCalls.d.ts +3 -10
- package/dist/actions/sendPreparedCalls.d.ts.map +1 -1
- package/dist/actions/sendPreparedCalls.js +3 -1
- package/dist/actions/sendPreparedCalls.js.map +1 -1
- package/dist/actions/upgradeAccount.d.ts +7 -21
- package/dist/actions/upgradeAccount.d.ts.map +1 -1
- package/dist/actions/upgradeAccount.js +62 -3
- package/dist/actions/upgradeAccount.js.map +1 -1
- package/dist/actions/verifySignature.d.ts +3 -3
- package/dist/actions/verifySignature.d.ts.map +1 -1
- package/dist/actions/verifySignature.js +3 -1
- package/dist/actions/verifySignature.js.map +1 -1
- package/dist/decorators/relayer.d.ts +1 -1
- package/dist/decorators/relayer.d.ts.map +1 -1
- package/dist/decorators/relayer.js.map +1 -1
- package/dist/rpc-schema.d.ts +13 -0
- package/dist/rpc-schema.d.ts.map +1 -0
- package/dist/rpc-schema.js +7 -0
- package/dist/rpc-schema.js.map +1 -0
- package/dist/transport.d.ts +8 -1
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +25 -12
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +7 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
A slim, viem-style SDK for interacting with the EIP-7702 Relayer Orchestrator system. This SDK enables gasless transactions through account delegation and intent-based execution.
|
|
4
4
|
|
|
5
|
+
## Development Note (Monorepo)
|
|
6
|
+
|
|
7
|
+
In this monorepo, `@towns-labs/relayer-client` imports shared RPC schema types from
|
|
8
|
+
`@towns-labs/relayer/rpc/schema/*` to stay aligned with relayer endpoint contracts.
|
|
9
|
+
|
|
10
|
+
When changing relayer request/response shapes, update the relayer schema files first and
|
|
11
|
+
then verify `relayer-client` build/tests.
|
|
12
|
+
|
|
5
13
|
## Installation
|
|
6
14
|
|
|
7
15
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkHealth.d.ts","sourceRoot":"","sources":["../../src/actions/checkHealth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAUnE;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"checkHealth.d.ts","sourceRoot":"","sources":["../../src/actions/checkHealth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAUnE;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CA8BtF"}
|
|
@@ -15,7 +15,9 @@ import { createJsonRpcTransport } from '../transport';
|
|
|
15
15
|
*/
|
|
16
16
|
export async function checkHealth(client) {
|
|
17
17
|
try {
|
|
18
|
-
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl
|
|
18
|
+
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl, {
|
|
19
|
+
httpAuth: client.relayerConfig.httpAuth,
|
|
20
|
+
});
|
|
19
21
|
await transport.request('wallet_health');
|
|
20
22
|
// Map to legacy HealthResponse format for backwards compatibility
|
|
21
23
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkHealth.js","sourceRoot":"","sources":["../../src/actions/checkHealth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AASrD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAA2B;IACzD,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"checkHealth.js","sourceRoot":"","sources":["../../src/actions/checkHealth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AASrD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAA2B;IACzD,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE;YACtE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;SAC1C,CAAC,CAAA;QACF,MAAM,SAAS,CAAC,OAAO,CAAqB,eAAe,CAAC,CAAA;QAE5D,kEAAkE;QAClE,OAAO;YACH,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC;YAC9B,SAAS,EAAE;gBACP,YAAY,EAAE,4CAA4C;gBAC1D,SAAS,EAAE,4CAA4C;gBACvD,YAAY,EAAE,4CAA4C;aAC7D;YACD,IAAI,EAAE,MAAM;SACf,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC;YAC9B,SAAS,EAAE;gBACP,YAAY,EAAE,4CAA4C;gBAC1D,SAAS,EAAE,4CAA4C;gBACvD,YAAY,EAAE,4CAA4C;aAC7D;YACD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAClE,CAAA;IACL,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCallsStatus.d.ts","sourceRoot":"","sources":["../../src/actions/getCallsStatus.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"getCallsStatus.d.ts","sourceRoot":"","sources":["../../src/actions/getCallsStatus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAIzE,MAAM,WAAW,oBAAoB;IACjC,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAiCD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,oBAAoB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA0C/B"}
|
|
@@ -43,7 +43,9 @@ function statusCodeToString(code) {
|
|
|
43
43
|
*/
|
|
44
44
|
export async function getCallsStatus(client, params) {
|
|
45
45
|
try {
|
|
46
|
-
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl
|
|
46
|
+
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl, {
|
|
47
|
+
httpAuth: client.relayerConfig.httpAuth,
|
|
48
|
+
});
|
|
47
49
|
const chainId = params.chainId ?? client.relayerConfig.chainId ?? client.chain?.id;
|
|
48
50
|
const rpcParams = chainId !== undefined
|
|
49
51
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCallsStatus.js","sourceRoot":"","sources":["../../src/actions/getCallsStatus.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"getCallsStatus.js","sourceRoot":"","sources":["../../src/actions/getCallsStatus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAUrD;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CACvB,IAAY;IAEZ,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACJ,OAAO,WAAW,CAAA;QACtB,KAAK,GAAG;YACJ,OAAO,QAAQ,CAAA;QACnB,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACJ,OAAO,UAAU,CAAA;QACrB,KAAK,GAAG;YACJ,OAAO,WAAW,CAAA;QACtB;YACI,OAAO,SAAS,CAAA;IACxB,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,MAA2B,EAC3B,MAA4B;IAE5B,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE;YACtE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;SAC1C,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;QAClF,MAAM,SAAS,GACX,OAAO,KAAK,SAAS;YACjB,CAAC,CAAC;gBACI,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,QAAQ,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;aACxC;YACH,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA;QACnB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,uBAAuB,EACvB,SAAS,CACZ,CAAA;QAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAC,gDAAgD;QAEnF,OAAO;YACH,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,OAAO,EAAE,OAAO;gBACZ,CAAC,CAAC;oBACI,eAAe,EAAE,OAAO,CAAC,gBAAgB;oBACzC,WAAW,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG;oBACxC,OAAO,EAAE,OAAO,CAAC,QAAQ;oBACzB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;oBAC/C,WAAW,EAAE,OAAO,CAAC,YAAY;iBACpC;gBACH,CAAC,CAAC,SAAS;SAClB,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAClE,CAAA;IACL,CAAC;AACL,CAAC"}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* Get relayer capabilities
|
|
3
3
|
*/
|
|
4
4
|
import type { RelayerPublicClient, CapabilitiesResponse } from '../types';
|
|
5
|
+
import type { RpcGetCapabilitiesParams } from '../rpc-schema';
|
|
5
6
|
/**
|
|
6
7
|
* JSON-RPC capabilities params
|
|
7
8
|
*/
|
|
8
|
-
export interface GetCapabilitiesParams {
|
|
9
|
+
export interface GetCapabilitiesParams extends RpcGetCapabilitiesParams {
|
|
9
10
|
/** Optional chain IDs to filter (hex format) */
|
|
10
11
|
chains?: string[];
|
|
11
12
|
/** Optional numeric chain IDs to filter */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCapabilities.d.ts","sourceRoot":"","sources":["../../src/actions/getCapabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"getCapabilities.d.ts","sourceRoot":"","sources":["../../src/actions/getCapabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEzE,OAAO,KAAK,EAAE,wBAAwB,EAA4B,MAAM,eAAe,CAAA;AAEvF;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACnE,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACjC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,qBAAqB,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CAqE/B"}
|
|
@@ -15,7 +15,9 @@ import { createJsonRpcTransport } from '../transport';
|
|
|
15
15
|
*/
|
|
16
16
|
export async function getCapabilities(client, params) {
|
|
17
17
|
try {
|
|
18
|
-
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl
|
|
18
|
+
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl, {
|
|
19
|
+
httpAuth: client.relayerConfig.httpAuth,
|
|
20
|
+
});
|
|
19
21
|
const rpcParams = params?.chainIds && params.chainIds.length > 0
|
|
20
22
|
? {
|
|
21
23
|
...params,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCapabilities.js","sourceRoot":"","sources":["../../src/actions/getCapabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"getCapabilities.js","sourceRoot":"","sources":["../../src/actions/getCapabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAarD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,MAA2B,EAC3B,MAA8B;IAE9B,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE;YACtE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;SAC1C,CAAC,CAAA;QACF,MAAM,SAAS,GACX,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC1C,CAAC,CAAC;gBACI,GAAG,MAAM;gBACT,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;aAC9D;YACH,CAAC,CAAC,MAAM,CAAA;QAChB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,wBAAwB,EACxB,SAAS,CACZ,CAAA;QAED,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvD,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,CAAA;QACtC,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,CAAA;QAE5B,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QAC1E,CAAC;QAED,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YACpD,SAAS,EAAE,SAAS;gBAChB,CAAC,CAAC;oBACI,YAAY,EAAE,SAAS,CAAC,YAAY;oBACpC,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,mDAAmD;oBACnD,YAAY,EAAE,SAAS,CAAC,UAAU;iBACrC;gBACH,CAAC,CAAC,SAAS;YACf,YAAY,EAAE;gBACV,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACvB;YACD,IAAI,EAAE;gBACF,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB;SACJ,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YAC/D,IAAI,EAAE;gBACF,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,CAAC;gBAChB,YAAY,EAAE,CAAC;gBACf,iBAAiB,EAAE,CAAC;gBACpB,OAAO,EAAE,EAAE;aACd;SACJ,CAAA;IACL,CAAC;AACL,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Get authorized keys for a delegated account
|
|
3
3
|
*/
|
|
4
|
-
import type { Address
|
|
4
|
+
import type { Address } from 'viem';
|
|
5
5
|
import type { RelayerPublicClient } from '../types';
|
|
6
|
-
|
|
6
|
+
import type { RpcAuthorizedKeyResponse, RpcGetKeysParams, RpcGetKeysResult, RpcPermissionResponse, RpcSpendPermissionResponse } from '../rpc-schema';
|
|
7
|
+
export interface GetKeysParams extends Omit<RpcGetKeysParams, 'chainIds'> {
|
|
7
8
|
/** The address of the delegated account */
|
|
8
9
|
address: Address;
|
|
9
10
|
/** Optional chain IDs to filter */
|
|
@@ -12,40 +13,25 @@ export interface GetKeysParams {
|
|
|
12
13
|
/**
|
|
13
14
|
* Spend permission response
|
|
14
15
|
*/
|
|
15
|
-
export
|
|
16
|
-
type: 'spend';
|
|
17
|
-
token: Address;
|
|
18
|
-
period: string;
|
|
19
|
-
limit: Hex;
|
|
20
|
-
spent: Hex;
|
|
21
|
-
}
|
|
16
|
+
export type SpendPermissionInfo = RpcSpendPermissionResponse;
|
|
22
17
|
/**
|
|
23
18
|
* Call permission response
|
|
24
19
|
*/
|
|
25
|
-
export
|
|
20
|
+
export type CallPermissionInfo = Extract<RpcPermissionResponse, {
|
|
26
21
|
type: 'call';
|
|
27
|
-
|
|
28
|
-
selector: Hex;
|
|
29
|
-
}
|
|
22
|
+
}>;
|
|
30
23
|
/**
|
|
31
24
|
* Permission info
|
|
32
25
|
*/
|
|
33
|
-
export type PermissionInfo =
|
|
26
|
+
export type PermissionInfo = RpcPermissionResponse;
|
|
34
27
|
/**
|
|
35
28
|
* Authorized key information
|
|
36
29
|
*/
|
|
37
|
-
export
|
|
38
|
-
hash: Hex;
|
|
39
|
-
expiry: Hex;
|
|
40
|
-
type: 'secp256k1' | 'external';
|
|
41
|
-
role: 'admin' | 'normal';
|
|
42
|
-
publicKey: Hex;
|
|
43
|
-
permissions: PermissionInfo[];
|
|
44
|
-
}
|
|
30
|
+
export type AuthorizedKeyInfo = RpcAuthorizedKeyResponse;
|
|
45
31
|
/**
|
|
46
32
|
* Response from getKeys - maps chain ID (hex) to array of keys
|
|
47
33
|
*/
|
|
48
|
-
export type GetKeysResponse =
|
|
34
|
+
export type GetKeysResponse = RpcGetKeysResult;
|
|
49
35
|
/**
|
|
50
36
|
* Get authorized keys for a delegated account
|
|
51
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getKeys.d.ts","sourceRoot":"","sources":["../../src/actions/getKeys.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getKeys.d.ts","sourceRoot":"","sources":["../../src/actions/getKeys.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,OAAO,KAAK,EACR,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC7B,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IACrE,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAA;IAChB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,0BAA0B,CAAA;AAE5D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEjF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,CAAA;AAExD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,OAAO,CACzB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,aAAa,GACtB,OAAO,CAAC,eAAe,CAAC,CAc1B"}
|
package/dist/actions/getKeys.js
CHANGED
|
@@ -30,7 +30,9 @@ import { createJsonRpcTransport } from '../transport';
|
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
32
|
export async function getKeys(client, params) {
|
|
33
|
-
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl
|
|
33
|
+
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl, {
|
|
34
|
+
httpAuth: client.relayerConfig.httpAuth,
|
|
35
|
+
});
|
|
34
36
|
const rpcParams = {
|
|
35
37
|
address: params.address,
|
|
36
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getKeys.js","sourceRoot":"","sources":["../../src/actions/getKeys.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"getKeys.js","sourceRoot":"","sources":["../../src/actions/getKeys.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAyCrD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CACzB,MAA2B,EAC3B,MAAqB;IAErB,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE;QACtE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;KAC1C,CAAC,CAAA;IACF,MAAM,SAAS,GAA4B;QACvC,OAAO,EAAE,MAAM,CAAC,OAAO;KAC1B,CAAA;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAkB,gBAAgB,EAAE,SAAS,CAAC,CAAA;IAEpF,OAAO,MAAM,CAAA;AACjB,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Address, Hex } from 'viem';
|
|
5
5
|
import type { RelayerPublicClient, Call, EIP712Domain, INTENT_TYPES } from '../types';
|
|
6
|
+
import type { RpcPrepareCallsContext } from '../rpc-schema';
|
|
6
7
|
export interface PrepareCallsParams {
|
|
7
8
|
/** The address of the delegated account */
|
|
8
9
|
from: Address;
|
|
@@ -14,6 +15,8 @@ export interface PrepareCallsParams {
|
|
|
14
15
|
nonce?: bigint;
|
|
15
16
|
/** Optional sequence key for 2D nonce */
|
|
16
17
|
seqKey?: bigint;
|
|
18
|
+
/** Optional idempotency key for prepare replay on a lane */
|
|
19
|
+
prepareKey?: string;
|
|
17
20
|
/** Optional expiry override */
|
|
18
21
|
expiry?: bigint;
|
|
19
22
|
/** Settler address (optional) */
|
|
@@ -32,40 +35,10 @@ export interface PrepareCallsParams {
|
|
|
32
35
|
/** Maximum payment amount */
|
|
33
36
|
paymentMaxAmount?: bigint;
|
|
34
37
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Quote intent structure within the context
|
|
37
|
-
*/
|
|
38
|
-
interface QuoteIntent {
|
|
39
|
-
eoa: Address;
|
|
40
|
-
calls: {
|
|
41
|
-
to: Address;
|
|
42
|
-
value: string;
|
|
43
|
-
data: Hex;
|
|
44
|
-
}[];
|
|
45
|
-
nonce: string;
|
|
46
|
-
combinedGas: string;
|
|
47
|
-
expiry: string;
|
|
48
|
-
payer?: Address;
|
|
49
|
-
paymentToken?: Address;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Signed quotes structure
|
|
53
|
-
*/
|
|
54
|
-
interface SignedQuotes {
|
|
55
|
-
quotes: Array<{
|
|
56
|
-
chainId: string;
|
|
57
|
-
intent: QuoteIntent;
|
|
58
|
-
orchestrator: Address;
|
|
59
|
-
}>;
|
|
60
|
-
signature: Hex;
|
|
61
|
-
ttl: number;
|
|
62
|
-
}
|
|
63
38
|
/**
|
|
64
39
|
* Prepared calls context - opaque to the client, passed to sendPreparedCalls
|
|
65
40
|
*/
|
|
66
|
-
export
|
|
67
|
-
quote: SignedQuotes;
|
|
68
|
-
}
|
|
41
|
+
export type PrepareCallsContext = RpcPrepareCallsContext;
|
|
69
42
|
/**
|
|
70
43
|
* Key information returned when a key hash is provided
|
|
71
44
|
*/
|
|
@@ -135,5 +108,4 @@ export interface PrepareCallsResponse {
|
|
|
135
108
|
* ```
|
|
136
109
|
*/
|
|
137
110
|
export declare function prepareCalls(client: RelayerPublicClient, params: PrepareCallsParams): Promise<PrepareCallsResponse>;
|
|
138
|
-
export {};
|
|
139
111
|
//# sourceMappingURL=prepareCalls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareCalls.d.ts","sourceRoot":"","sources":["../../src/actions/prepareCalls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"prepareCalls.d.ts","sourceRoot":"","sources":["../../src/actions/prepareCalls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAErF,OAAO,KAAK,EAAE,sBAAsB,EAAyB,MAAM,eAAe,CAAA;AAElF,MAAM,WAAW,kBAAkB;IAC/B,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAA;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uBAAuB;IACvB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iCAAiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,GAAG,CAAA;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sCAAsC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,GAAG,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2CAA2C;IAC3C,OAAO,EAAE,mBAAmB,CAAA;IAC5B,iCAAiC;IACjC,MAAM,EAAE,GAAG,CAAA;IACX,+EAA+E;IAC/E,SAAS,EAAE;QACP,MAAM,EAAE,YAAY,CAAA;QACpB,KAAK,EAAE,OAAO,YAAY,CAAA;QAC1B,WAAW,EAAE,QAAQ,CAAA;QACrB,OAAO,EAAE;YACL,UAAU,EAAE,OAAO,CAAA;YACnB,GAAG,EAAE,OAAO,CAAA;YACZ,KAAK,EAAE,SAAS;gBAAE,EAAE,EAAE,OAAO,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,GAAG,CAAA;aAAE,EAAE,CAAA;YAC3D,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE,OAAO,CAAA;YACd,YAAY,EAAE,OAAO,CAAA;YACrB,gBAAgB,EAAE,MAAM,CAAA;YACxB,WAAW,EAAE,MAAM,CAAA;YACnB,eAAe,EAAE,SAAS,GAAG,EAAE,CAAA;YAC/B,oBAAoB,EAAE,SAAS,GAAG,EAAE,CAAA;YACpC,OAAO,EAAE,OAAO,CAAA;YAChB,MAAM,EAAE,MAAM,CAAA;SACjB,CAAA;KACJ,CAAA;IACD,mDAAmD;IACnD,GAAG,CAAC,EAAE,eAAe,CAAA;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,YAAY,CAC9B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAiE/B"}
|
|
@@ -28,7 +28,9 @@ import { createJsonRpcTransport } from '../transport';
|
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
export async function prepareCalls(client, params) {
|
|
31
|
-
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl
|
|
31
|
+
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl, {
|
|
32
|
+
httpAuth: client.relayerConfig.httpAuth,
|
|
33
|
+
});
|
|
32
34
|
const chainId = params.chainId ?? client.relayerConfig.chainId ?? client.chain?.id ?? 1;
|
|
33
35
|
// Convert to JSON-RPC format
|
|
34
36
|
const rpcParams = {
|
|
@@ -43,6 +45,7 @@ export async function prepareCalls(client, params) {
|
|
|
43
45
|
meta: {
|
|
44
46
|
nonce: params.nonce?.toString(),
|
|
45
47
|
seq_key: params.seqKey?.toString(),
|
|
48
|
+
prepare_key: params.prepareKey,
|
|
46
49
|
fee_payer: params.payer,
|
|
47
50
|
fee_token: params.paymentToken,
|
|
48
51
|
fee_max_amount: params.paymentMaxAmount?.toString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareCalls.js","sourceRoot":"","sources":["../../src/actions/prepareCalls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"prepareCalls.js","sourceRoot":"","sources":["../../src/actions/prepareCalls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Send prepared calls to the relayer
|
|
3
3
|
*/
|
|
4
|
-
import type { Hex } from 'viem';
|
|
5
4
|
import type { RelayerPublicClient } from '../types';
|
|
6
|
-
import type {
|
|
7
|
-
export
|
|
8
|
-
/** Context from prepareCalls */
|
|
9
|
-
context: PrepareCallsContext;
|
|
10
|
-
/** The signature over the typed data */
|
|
11
|
-
signature: Hex;
|
|
12
|
-
/** Optional payment signature (when a third-party payer is sponsoring) */
|
|
13
|
-
paymentSignature?: Hex;
|
|
14
|
-
}
|
|
5
|
+
import type { RpcSendPreparedCallsParams } from '../rpc-schema';
|
|
6
|
+
export type SendPreparedCallsParams = Pick<RpcSendPreparedCallsParams, 'context' | 'signature' | 'paymentSignature'>;
|
|
15
7
|
export interface SendPreparedCallsResponse {
|
|
8
|
+
/** Context from prepareCalls */
|
|
16
9
|
/** Bundle ID for status tracking */
|
|
17
10
|
id: string;
|
|
18
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendPreparedCalls.d.ts","sourceRoot":"","sources":["../../src/actions/sendPreparedCalls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sendPreparedCalls.d.ts","sourceRoot":"","sources":["../../src/actions/sendPreparedCalls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,OAAO,KAAK,EAAE,0BAA0B,EAA8B,MAAM,eAAe,CAAA;AAE3F,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACtC,0BAA0B,EAC1B,SAAS,GAAG,WAAW,GAAG,kBAAkB,CAC/C,CAAA;AAED,MAAM,WAAW,yBAAyB;IACtC,gCAAgC;IAChC,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,uBAAuB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAsBpC"}
|
|
@@ -26,7 +26,9 @@ import { createJsonRpcTransport } from '../transport';
|
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
28
|
export async function sendPreparedCalls(client, params) {
|
|
29
|
-
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl
|
|
29
|
+
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl, {
|
|
30
|
+
httpAuth: client.relayerConfig.httpAuth,
|
|
31
|
+
});
|
|
30
32
|
const rpcParams = {
|
|
31
33
|
context: params.context,
|
|
32
34
|
signature: params.signature,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendPreparedCalls.js","sourceRoot":"","sources":["../../src/actions/sendPreparedCalls.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"sendPreparedCalls.js","sourceRoot":"","sources":["../../src/actions/sendPreparedCalls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAcrD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,MAA2B,EAC3B,MAA+B;IAE/B,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE;QACtE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;KAC1C,CAAC,CAAA;IAEF,MAAM,SAAS,GAA4B;QACvC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC9B,CAAA;IAED,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC1B,SAAS,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAA;IACxD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,0BAA0B,EAC1B,SAAS,CACZ,CAAA;IAED,OAAO;QACH,EAAE,EAAE,MAAM,CAAC,EAAE;KAChB,CAAA;AACL,CAAC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { Address, Hex, WalletClient } from 'viem';
|
|
9
9
|
import type { RelayerPublicClient, CreateAccountResponse } from '../types';
|
|
10
|
+
import type { RpcAuthorizeKey, RpcCallPermission, RpcKeyType, RpcPermission, RpcSpendPeriod, RpcSpendPermission } from '../rpc-schema';
|
|
10
11
|
/** Base params for upgradeAccount */
|
|
11
12
|
interface UpgradeAccountBaseParams {
|
|
12
13
|
/** The EOA address that will become a delegated account */
|
|
@@ -39,42 +40,27 @@ export type UpgradeAccountParams = UpgradeAccountWithKeyParams | UpgradeAccountW
|
|
|
39
40
|
* - Secp256k1 = 0: Standard Ethereum EOA keys
|
|
40
41
|
* - External = 1: Delegated to an external ISigner contract
|
|
41
42
|
*/
|
|
42
|
-
export type KeyType =
|
|
43
|
+
export type KeyType = RpcKeyType;
|
|
43
44
|
/**
|
|
44
45
|
* Spend period for spending limits
|
|
45
46
|
*/
|
|
46
|
-
export type SpendPeriod =
|
|
47
|
+
export type SpendPeriod = RpcSpendPeriod;
|
|
47
48
|
/**
|
|
48
49
|
* Call permission
|
|
49
50
|
*/
|
|
50
|
-
export
|
|
51
|
-
type: 'call';
|
|
52
|
-
to: Address;
|
|
53
|
-
selector: Hex;
|
|
54
|
-
}
|
|
51
|
+
export type CallPermission = RpcCallPermission;
|
|
55
52
|
/**
|
|
56
53
|
* Spend permission
|
|
57
54
|
*/
|
|
58
|
-
export
|
|
59
|
-
type: 'spend';
|
|
60
|
-
token: Address;
|
|
61
|
-
limit: string;
|
|
62
|
-
period: SpendPeriod;
|
|
63
|
-
}
|
|
55
|
+
export type SpendPermission = RpcSpendPermission;
|
|
64
56
|
/**
|
|
65
57
|
* Permission types
|
|
66
58
|
*/
|
|
67
|
-
export type Permission =
|
|
59
|
+
export type Permission = RpcPermission;
|
|
68
60
|
/**
|
|
69
61
|
* Key authorization request
|
|
70
62
|
*/
|
|
71
|
-
export
|
|
72
|
-
expiry: string;
|
|
73
|
-
type: KeyType;
|
|
74
|
-
role: 'admin' | 'normal';
|
|
75
|
-
publicKey: Hex;
|
|
76
|
-
permissions: Permission[];
|
|
77
|
-
}
|
|
63
|
+
export type AuthorizeKey = RpcAuthorizeKey;
|
|
78
64
|
/**
|
|
79
65
|
* Upgrade an EOA to a delegated account via the relayer
|
|
80
66
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgradeAccount.d.ts","sourceRoot":"","sources":["../../src/actions/upgradeAccount.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAW,MAAM,MAAM,CAAA;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"upgradeAccount.d.ts","sourceRoot":"","sources":["../../src/actions/upgradeAccount.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAW,MAAM,MAAM,CAAA;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,KAAK,EACR,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,aAAa,EAEb,cAAc,EACd,kBAAkB,EAErB,MAAM,eAAe,CAAA;AAEtB,qCAAqC;AACrC,UAAU,wBAAwB;IAC9B,2DAA2D;IAC3D,cAAc,EAAE,OAAO,CAAA;IACvB,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IACnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;CACjC;AAED,sCAAsC;AACtC,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IACzE,4CAA4C;IAC5C,SAAS,EAAE,GAAG,CAAA;IACd,YAAY,CAAC,EAAE,KAAK,CAAA;CACvB;AAED,uCAAuC;AACvC,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC5E,+DAA+D;IAC/D,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAA;CACpB;AAED,iEAAiE;AACjE,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,GAAG,8BAA8B,CAAA;AAE/F;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG,UAAU,CAAA;AAEhC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,CAAA;AAExC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAA;AAE9C;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAA;AAEhD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAA;AAEtC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,CAAA;AA0D1C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,oBAAoB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAqHhC"}
|
|
@@ -6,7 +6,53 @@
|
|
|
6
6
|
* 2. wallet_upgradeAccount - submit both signed digests
|
|
7
7
|
*/
|
|
8
8
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
9
|
-
import { createJsonRpcTransport } from '../transport';
|
|
9
|
+
import { createJsonRpcTransport, JsonRpcClientError } from '../transport';
|
|
10
|
+
const DELEGATION_CODE_PREFIX = '0xef0100';
|
|
11
|
+
const DEFAULT_DELEGATION_CONFIRMATION_TIMEOUT_MS = 15_000;
|
|
12
|
+
const DEFAULT_DELEGATION_CONFIRMATION_INTERVAL_MS = 500;
|
|
13
|
+
function normalizeTxHash(value) {
|
|
14
|
+
if (typeof value !== 'string')
|
|
15
|
+
return undefined;
|
|
16
|
+
const withoutPrefix = value.startsWith('0x') ? value.slice(2) : value;
|
|
17
|
+
if (!/^[a-fA-F0-9]{64}$/.test(withoutPrefix))
|
|
18
|
+
return undefined;
|
|
19
|
+
return `0x${withoutPrefix}`;
|
|
20
|
+
}
|
|
21
|
+
function isDelegationConfirmationRace(error) {
|
|
22
|
+
if (!(error instanceof Error))
|
|
23
|
+
return false;
|
|
24
|
+
return error.message.includes('Delegation not confirmed after transaction mined');
|
|
25
|
+
}
|
|
26
|
+
function getTxHashFromError(error) {
|
|
27
|
+
if (error instanceof JsonRpcClientError) {
|
|
28
|
+
if (error.data && typeof error.data === 'object') {
|
|
29
|
+
const maybeTxHash = error.data.txHash;
|
|
30
|
+
const normalizedTxHash = normalizeTxHash(maybeTxHash);
|
|
31
|
+
if (normalizedTxHash)
|
|
32
|
+
return normalizedTxHash;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (!(error instanceof Error))
|
|
36
|
+
return undefined;
|
|
37
|
+
const match = error.message.match(/(?:0x)?[a-fA-F0-9]{64}/);
|
|
38
|
+
return match ? normalizeTxHash(match[0]) : undefined;
|
|
39
|
+
}
|
|
40
|
+
async function waitForDelegationCode(client, accountAddress, timeoutMs = DEFAULT_DELEGATION_CONFIRMATION_TIMEOUT_MS, intervalMs = DEFAULT_DELEGATION_CONFIRMATION_INTERVAL_MS) {
|
|
41
|
+
const startTime = Date.now();
|
|
42
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
43
|
+
try {
|
|
44
|
+
const code = await client.getCode({ address: accountAddress });
|
|
45
|
+
if (code && code.startsWith(DELEGATION_CODE_PREFIX)) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Retry until timeout if RPC is temporarily inconsistent.
|
|
51
|
+
}
|
|
52
|
+
await new Promise((resolve) => setTimeout(resolve, intervalMs));
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
10
56
|
/**
|
|
11
57
|
* Upgrade an EOA to a delegated account via the relayer
|
|
12
58
|
*
|
|
@@ -53,7 +99,9 @@ export async function upgradeAccount(client, params) {
|
|
|
53
99
|
else {
|
|
54
100
|
throw new Error('Must provide either signerKey or walletClient');
|
|
55
101
|
}
|
|
56
|
-
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl
|
|
102
|
+
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl, {
|
|
103
|
+
httpAuth: client.relayerConfig.httpAuth,
|
|
104
|
+
});
|
|
57
105
|
const chainId = params.chainId ?? client.relayerConfig.chainId ?? client.chain?.id;
|
|
58
106
|
// Step 1: Get authorization data from server
|
|
59
107
|
const prepared = await transport.request('wallet_prepareUpgradeAccount', {
|
|
@@ -106,13 +154,24 @@ export async function upgradeAccount(client, params) {
|
|
|
106
154
|
exec: execSignature,
|
|
107
155
|
},
|
|
108
156
|
});
|
|
157
|
+
const txHash = normalizeTxHash(result.txHash);
|
|
109
158
|
return {
|
|
110
159
|
success: true,
|
|
111
160
|
accountAddress: params.accountAddress,
|
|
112
|
-
txHash
|
|
161
|
+
txHash,
|
|
113
162
|
};
|
|
114
163
|
}
|
|
115
164
|
catch (error) {
|
|
165
|
+
if (isDelegationConfirmationRace(error)) {
|
|
166
|
+
const recovered = await waitForDelegationCode(client, params.accountAddress);
|
|
167
|
+
if (recovered) {
|
|
168
|
+
return {
|
|
169
|
+
success: true,
|
|
170
|
+
accountAddress: params.accountAddress,
|
|
171
|
+
txHash: getTxHashFromError(error),
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
116
175
|
return {
|
|
117
176
|
success: false,
|
|
118
177
|
error: error instanceof Error ? error.message : 'Unknown error',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgradeAccount.js","sourceRoot":"","sources":["../../src/actions/upgradeAccount.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"upgradeAccount.js","sourceRoot":"","sources":["../../src/actions/upgradeAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Address, Hex } from 'viem';
|
|
5
5
|
import type { RelayerPublicClient } from '../types';
|
|
6
|
-
|
|
6
|
+
import type { RpcValidSignatureProof, RpcVerifySignatureParams } from '../rpc-schema';
|
|
7
|
+
export interface VerifySignatureParams extends Omit<RpcVerifySignatureParams, 'chain_id'> {
|
|
7
8
|
/** The address of the delegated account */
|
|
8
9
|
address: Address;
|
|
9
10
|
/** The original digest that was signed (before ERC-1271 transformation) */
|
|
@@ -16,8 +17,7 @@ export interface VerifySignatureParams {
|
|
|
16
17
|
/**
|
|
17
18
|
* Proof that a signature is valid
|
|
18
19
|
*/
|
|
19
|
-
export interface SignatureProof {
|
|
20
|
-
account: Address;
|
|
20
|
+
export interface SignatureProof extends Omit<RpcValidSignatureProof, 'key_hash'> {
|
|
21
21
|
keyHash: Hex;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifySignature.d.ts","sourceRoot":"","sources":["../../src/actions/verifySignature.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"verifySignature.d.ts","sourceRoot":"","sources":["../../src/actions/verifySignature.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,OAAO,KAAK,EACR,sBAAsB,EACtB,wBAAwB,EAE3B,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC;IACrF,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAA;IAChB,2EAA2E;IAC3E,MAAM,EAAE,GAAG,CAAA;IACX,8BAA8B;IAC9B,SAAS,EAAE,GAAG,CAAA;IACd,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAC5E,OAAO,EAAE,GAAG,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAA;IACd,0CAA0C;IAC1C,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,eAAe,CACjC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,qBAAqB,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CAwBlC"}
|
|
@@ -34,7 +34,9 @@ import { createJsonRpcTransport } from '../transport';
|
|
|
34
34
|
* ```
|
|
35
35
|
*/
|
|
36
36
|
export async function verifySignature(client, params) {
|
|
37
|
-
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl
|
|
37
|
+
const transport = createJsonRpcTransport(client.relayerConfig.relayerUrl, {
|
|
38
|
+
httpAuth: client.relayerConfig.httpAuth,
|
|
39
|
+
});
|
|
38
40
|
const chainId = params.chainId ?? client.relayerConfig.chainId ?? client.chain?.id ?? 1;
|
|
39
41
|
const hexChainId = `0x${chainId.toString(16)}`;
|
|
40
42
|
const result = await transport.request('wallet_verifySignature', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifySignature.js","sourceRoot":"","sources":["../../src/actions/verifySignature.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"verifySignature.js","sourceRoot":"","sources":["../../src/actions/verifySignature.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAmCrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,MAA2B,EAC3B,MAA6B;IAE7B,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE;QACtE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;KAC1C,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA;IACvF,MAAM,UAAU,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;IAE9C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAA2B,wBAAwB,EAAE;QACvF,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,UAAU;KACvB,CAAC,CAAA;IAEF,OAAO;QACH,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACf,CAAC,CAAC;gBACI,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;gBAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;aACjC;YACH,CAAC,CAAC,IAAI;KACb,CAAA;AACL,CAAC"}
|
|
@@ -70,5 +70,5 @@ export type RelayerActions = {
|
|
|
70
70
|
* const status = await waitForBundle(client, { id })
|
|
71
71
|
* ```
|
|
72
72
|
*/
|
|
73
|
-
export declare function relayerActions(config: RelayerClientConfig): (client:
|
|
73
|
+
export declare function relayerActions(config: RelayerClientConfig): <TClient extends PublicClient>(client: TClient) => RelayerActions;
|
|
74
74
|
//# sourceMappingURL=relayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayer.d.ts","sourceRoot":"","sources":["../../src/decorators/relayer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EACR,mBAAmB,EAEnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACxF,OAAO,EAEH,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC5B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEH,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EACjC,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,EAAW,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACtF,OAAO,EAEH,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC/B,MAAM,4BAA4B,CAAA;AAEnC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,iDAAiD;IACjD,aAAa,EAAE,mBAAmB,CAAA;IAElC,2BAA2B;IAC3B,WAAW,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;IAC1C,+BAA+B;IAC/B,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAClF,gCAAgC;IAChC,YAAY,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC3E,yCAAyC;IACzC,iBAAiB,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAC1F,uBAAuB;IACvB,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC/E,gFAAgF;IAChF,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAChF,kDAAkD;IAClD,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IAC5D,iDAAiD;IACjD,eAAe,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;CACvF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,IAC9C,
|
|
1
|
+
{"version":3,"file":"relayer.d.ts","sourceRoot":"","sources":["../../src/decorators/relayer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EACR,mBAAmB,EAEnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACxF,OAAO,EAEH,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC5B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEH,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EACjC,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,EAAW,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACtF,OAAO,EAEH,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC/B,MAAM,4BAA4B,CAAA;AAEnC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,iDAAiD;IACjD,aAAa,EAAE,mBAAmB,CAAA;IAElC,2BAA2B;IAC3B,WAAW,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;IAC1C,+BAA+B;IAC/B,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAClF,gCAAgC;IAChC,YAAY,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC3E,yCAAyC;IACzC,iBAAiB,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAC1F,uBAAuB;IACvB,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC/E,gFAAgF;IAChF,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAChF,kDAAkD;IAClD,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IAC5D,iDAAiD;IACjD,eAAe,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;CACvF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,IAC9C,OAAO,SAAS,YAAY,EAAE,QAAQ,OAAO,KAAG,cAAc,CAkBzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayer.js","sourceRoot":"","sources":["../../src/decorators/relayer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,eAAe,EAA8B,MAAM,4BAA4B,CAAA;AACxF,OAAO,EACH,YAAY,GAGf,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,iBAAiB,GAGpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,cAAc,EAA6B,MAAM,2BAA2B,CAAA;AACrF,OAAO,EAAE,cAAc,EAA6B,MAAM,2BAA2B,CAAA;AACrF,OAAO,EAAE,OAAO,EAA4C,MAAM,oBAAoB,CAAA;AACtF,OAAO,EACH,eAAe,GAGlB,MAAM,4BAA4B,CAAA;AA2BnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,cAAc,CAAC,MAA2B;IACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"relayer.js","sourceRoot":"","sources":["../../src/decorators/relayer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,eAAe,EAA8B,MAAM,4BAA4B,CAAA;AACxF,OAAO,EACH,YAAY,GAGf,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,iBAAiB,GAGpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,cAAc,EAA6B,MAAM,2BAA2B,CAAA;AACrF,OAAO,EAAE,cAAc,EAA6B,MAAM,2BAA2B,CAAA;AACrF,OAAO,EAAE,OAAO,EAA4C,MAAM,oBAAoB,CAAA;AACtF,OAAO,EACH,eAAe,GAGlB,MAAM,4BAA4B,CAAA;AA2BnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,cAAc,CAAC,MAA2B;IACtD,OAAO,CAA+B,MAAe,EAAkB,EAAE;QACrE,yCAAyC;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YACxC,aAAa,EAAE,MAAM;SACxB,CAAiC,CAAA;QAElC,OAAO;YACH,aAAa,EAAE,MAAM;YACrB,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC;YAC7C,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC;YACnE,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;YAC7D,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC;YACvE,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC;YACjE,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC;YACjE,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;YACnD,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC;SACtE,CAAA;IACL,CAAC,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared RPC wire schema types sourced from the relayer package.
|
|
3
|
+
*
|
|
4
|
+
* This keeps relayer-client aligned with server-side JSON-RPC contracts.
|
|
5
|
+
*/
|
|
6
|
+
export type { ChainCapabilities as RpcChainCapabilities, GetCapabilitiesParams as RpcGetCapabilitiesParams, GetCapabilitiesResult as RpcGetCapabilitiesResult, } from '@towns-labs/relayer/rpc/schema/getCapabilities';
|
|
7
|
+
export type { PrepareCallsContext as RpcPrepareCallsContext, PrepareCallsResult as RpcPrepareCallsResult, } from '@towns-labs/relayer/rpc/schema/prepareCalls';
|
|
8
|
+
export type { SendPreparedCallsParams as RpcSendPreparedCallsParams, SendPreparedCallsResult as RpcSendPreparedCallsResult, } from '@towns-labs/relayer/rpc/schema/sendPreparedCalls';
|
|
9
|
+
export type { GetCallsStatusResult as RpcGetCallsStatusResult } from '@towns-labs/relayer/rpc/schema/getCallsStatus';
|
|
10
|
+
export type { AuthorizedKeyResponse as RpcAuthorizedKeyResponse, GetKeysParams as RpcGetKeysParams, GetKeysResult as RpcGetKeysResult, PermissionResponse as RpcPermissionResponse, SpendPermissionResponse as RpcSpendPermissionResponse, } from '@towns-labs/relayer/rpc/schema/getKeys';
|
|
11
|
+
export type { AuthorizeKey as RpcAuthorizeKey, CallPermission as RpcCallPermission, KeyType as RpcKeyType, Permission as RpcPermission, PrepareUpgradeResult as RpcPrepareUpgradeResult, SpendPeriod as RpcSpendPeriod, SpendPermission as RpcSpendPermission, UpgradeAccountContext as RpcUpgradeAccountContext, UpgradeAccountResult as RpcUpgradeAccountResult, } from '@towns-labs/relayer/rpc/schema/upgradeAccount';
|
|
12
|
+
export type { ValidSignatureProof as RpcValidSignatureProof, VerifySignatureParams as RpcVerifySignatureParams, VerifySignatureResult as RpcVerifySignatureResult, } from '@towns-labs/relayer/rpc/schema/verifySignature';
|
|
13
|
+
//# sourceMappingURL=rpc-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-schema.d.ts","sourceRoot":"","sources":["../src/rpc-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACR,iBAAiB,IAAI,oBAAoB,EACzC,qBAAqB,IAAI,wBAAwB,EACjD,qBAAqB,IAAI,wBAAwB,GACpD,MAAM,gDAAgD,CAAA;AACvD,YAAY,EACR,mBAAmB,IAAI,sBAAsB,EAC7C,kBAAkB,IAAI,qBAAqB,GAC9C,MAAM,6CAA6C,CAAA;AACpD,YAAY,EACR,uBAAuB,IAAI,0BAA0B,EACrD,uBAAuB,IAAI,0BAA0B,GACxD,MAAM,kDAAkD,CAAA;AACzD,YAAY,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,+CAA+C,CAAA;AACpH,YAAY,EACR,qBAAqB,IAAI,wBAAwB,EACjD,aAAa,IAAI,gBAAgB,EACjC,aAAa,IAAI,gBAAgB,EACjC,kBAAkB,IAAI,qBAAqB,EAC3C,uBAAuB,IAAI,0BAA0B,GACxD,MAAM,wCAAwC,CAAA;AAC/C,YAAY,EACR,YAAY,IAAI,eAAe,EAC/B,cAAc,IAAI,iBAAiB,EACnC,OAAO,IAAI,UAAU,EACrB,UAAU,IAAI,aAAa,EAC3B,oBAAoB,IAAI,uBAAuB,EAC/C,WAAW,IAAI,cAAc,EAC7B,eAAe,IAAI,kBAAkB,EACrC,qBAAqB,IAAI,wBAAwB,EACjD,oBAAoB,IAAI,uBAAuB,GAClD,MAAM,+CAA+C,CAAA;AACtD,YAAY,EACR,mBAAmB,IAAI,sBAAsB,EAC7C,qBAAqB,IAAI,wBAAwB,EACjD,qBAAqB,IAAI,wBAAwB,GACpD,MAAM,gDAAgD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-schema.js","sourceRoot":"","sources":["../src/rpc-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/dist/transport.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides a transport for making JSON-RPC calls to the relayer.
|
|
5
5
|
*/
|
|
6
|
+
import { type EthHttpSigner, type SignOptions } from '@slicekit/erc8128';
|
|
6
7
|
/**
|
|
7
8
|
* JSON-RPC 2.0 Request object
|
|
8
9
|
*/
|
|
@@ -29,6 +30,12 @@ export interface JsonRpcError {
|
|
|
29
30
|
message: string;
|
|
30
31
|
data?: unknown;
|
|
31
32
|
}
|
|
33
|
+
export interface JsonRpcTransportOptions {
|
|
34
|
+
httpAuth?: {
|
|
35
|
+
signer: EthHttpSigner;
|
|
36
|
+
signOptions?: SignOptions;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
32
39
|
/**
|
|
33
40
|
* JSON-RPC Transport interface
|
|
34
41
|
*/
|
|
@@ -77,5 +84,5 @@ export declare class JsonRpcClientError extends Error {
|
|
|
77
84
|
* const status = await transport.request<StatusResult>('wallet_getCallsStatus', bundleId)
|
|
78
85
|
* ```
|
|
79
86
|
*/
|
|
80
|
-
export declare function createJsonRpcTransport(relayerUrl: string): JsonRpcTransport;
|
|
87
|
+
export declare function createJsonRpcTransport(relayerUrl: string, options?: JsonRpcTransportOptions): JsonRpcTransport;
|
|
81
88
|
//# sourceMappingURL=transport.d.ts.map
|
package/dist/transport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAe,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAMrF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,KAAK,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IACxC,OAAO,EAAE,KAAK,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,KAAK,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,EAAE;QACP,MAAM,EAAE,aAAa,CAAA;QACrB,WAAW,CAAC,EAAE,WAAW,CAAA;KAC5B,CAAA;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAExD;;;;;OAKG;IACH,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACvF;AAMD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,IAAI,CAAC,EAAE,OAAO,CAAA;gBAElB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAM5D;AAoBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,uBAAuB,GAClC,gBAAgB,CAgFlB"}
|
package/dist/transport.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides a transport for making JSON-RPC calls to the relayer.
|
|
5
5
|
*/
|
|
6
|
+
import { signRequest } from '@slicekit/erc8128';
|
|
6
7
|
// =============================================================================
|
|
7
8
|
// Error Classes
|
|
8
9
|
// =============================================================================
|
|
@@ -19,6 +20,17 @@ export class JsonRpcClientError extends Error {
|
|
|
19
20
|
this.data = data;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
23
|
+
async function postJson(relayerUrl, body, options) {
|
|
24
|
+
const request = new Request(relayerUrl, {
|
|
25
|
+
method: 'POST',
|
|
26
|
+
headers: { 'Content-Type': 'application/json' },
|
|
27
|
+
body,
|
|
28
|
+
});
|
|
29
|
+
const signedRequest = options?.httpAuth
|
|
30
|
+
? await signRequest(request, options.httpAuth.signer, options.httpAuth.signOptions)
|
|
31
|
+
: request;
|
|
32
|
+
return fetch(signedRequest);
|
|
33
|
+
}
|
|
22
34
|
// =============================================================================
|
|
23
35
|
// Transport Implementation
|
|
24
36
|
// =============================================================================
|
|
@@ -39,7 +51,7 @@ export class JsonRpcClientError extends Error {
|
|
|
39
51
|
* const status = await transport.request<StatusResult>('wallet_getCallsStatus', bundleId)
|
|
40
52
|
* ```
|
|
41
53
|
*/
|
|
42
|
-
export function createJsonRpcTransport(relayerUrl) {
|
|
54
|
+
export function createJsonRpcTransport(relayerUrl, options) {
|
|
43
55
|
let requestId = 0;
|
|
44
56
|
return {
|
|
45
57
|
async request(method, params) {
|
|
@@ -50,11 +62,7 @@ export function createJsonRpcTransport(relayerUrl) {
|
|
|
50
62
|
// Wrap params in array as per JSON-RPC spec and api-routes-plan
|
|
51
63
|
params: params !== undefined ? [params] : [],
|
|
52
64
|
};
|
|
53
|
-
const response = await
|
|
54
|
-
method: 'POST',
|
|
55
|
-
headers: { 'Content-Type': 'application/json' },
|
|
56
|
-
body: JSON.stringify(request),
|
|
57
|
-
});
|
|
65
|
+
const response = await postJson(relayerUrl, JSON.stringify(request), options);
|
|
58
66
|
if (!response.ok) {
|
|
59
67
|
throw new JsonRpcClientError(-32000, `HTTP error: ${response.status} ${response.statusText}`);
|
|
60
68
|
}
|
|
@@ -71,15 +79,20 @@ export function createJsonRpcTransport(relayerUrl) {
|
|
|
71
79
|
method: req.method,
|
|
72
80
|
params: req.params !== undefined ? [req.params] : [],
|
|
73
81
|
}));
|
|
74
|
-
const response = await
|
|
75
|
-
method: 'POST',
|
|
76
|
-
headers: { 'Content-Type': 'application/json' },
|
|
77
|
-
body: JSON.stringify(batchRequest),
|
|
78
|
-
});
|
|
82
|
+
const response = await postJson(relayerUrl, JSON.stringify(batchRequest), options);
|
|
79
83
|
if (!response.ok) {
|
|
80
84
|
throw new JsonRpcClientError(-32000, `HTTP error: ${response.status} ${response.statusText}`);
|
|
81
85
|
}
|
|
82
|
-
const
|
|
86
|
+
const json = (await response.json());
|
|
87
|
+
const data = Array.isArray(json) ? json : [json];
|
|
88
|
+
// Some relayer middleware paths may return a single JSON-RPC error object
|
|
89
|
+
// for the whole batch request. Surface it as a typed client error.
|
|
90
|
+
if (!Array.isArray(json)) {
|
|
91
|
+
if (json.error) {
|
|
92
|
+
throw new JsonRpcClientError(json.error.code, json.error.message, json.error.data);
|
|
93
|
+
}
|
|
94
|
+
throw new JsonRpcClientError(-32000, 'Invalid JSON-RPC batch response');
|
|
95
|
+
}
|
|
83
96
|
// Check for any errors in the batch response
|
|
84
97
|
for (const item of data) {
|
|
85
98
|
if (item.error) {
|
package/dist/transport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Address, Hex, SignedAuthorization, PublicClient } from 'viem';
|
|
2
|
+
import type { EthHttpSigner, SignOptions } from '@slicekit/erc8128';
|
|
2
3
|
export type { SignedAuthorization };
|
|
3
4
|
/**
|
|
4
5
|
* Minimal config for relayer actions (no rpcUrl/chainId - comes from PublicClient)
|
|
@@ -7,12 +8,17 @@ export interface RelayerClientConfig {
|
|
|
7
8
|
relayerUrl: string;
|
|
8
9
|
/** Optional chain ID override (used when client.chain is undefined) */
|
|
9
10
|
chainId?: number;
|
|
11
|
+
/** Optional ERC-8128 HTTP auth signer for request-level authentication */
|
|
12
|
+
httpAuth?: {
|
|
13
|
+
signer: EthHttpSigner;
|
|
14
|
+
signOptions?: SignOptions;
|
|
15
|
+
};
|
|
10
16
|
}
|
|
11
17
|
/**
|
|
12
18
|
* Extended PublicClient with relayer config attached.
|
|
13
19
|
* Created by using publicClient.extend(relayerActions({...}))
|
|
14
20
|
*/
|
|
15
|
-
export type RelayerPublicClient = PublicClient & {
|
|
21
|
+
export type RelayerPublicClient<TClient extends PublicClient = PublicClient> = TClient & {
|
|
16
22
|
relayerConfig: RelayerClientConfig;
|
|
17
23
|
};
|
|
18
24
|
export interface Keypair {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA2GA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,MAAM,EAAE;QACJ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;QACpC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;QAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7C,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;QACxC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5C,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE;QACjD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;IACD,IAAI,EAAE;QACF,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;KAClC;CACK,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,oBAAoB,EAAE;QAClB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE;KAC5C;IACD,QAAQ,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;CACK,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@towns-labs/relayer-client",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -16,17 +16,23 @@
|
|
|
16
16
|
"test": "vitest run",
|
|
17
17
|
"test:integration": "./scripts/dev.sh --test",
|
|
18
18
|
"test:integration:watch": "./scripts/dev.sh --watch",
|
|
19
|
+
"test:remote": "vitest run --project remote",
|
|
19
20
|
"test:stress": "./scripts/dev.sh --stress --test",
|
|
20
21
|
"watch": "tsc --watch -p tsconfig.build.json"
|
|
21
22
|
},
|
|
22
23
|
"dependencies": {
|
|
24
|
+
"@slicekit/erc8128": "^0.1.0",
|
|
25
|
+
"@towns-labs/contracts": "^2.0.13",
|
|
26
|
+
"@towns-labs/relayer": "^2.0.13"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
23
29
|
"viem": "2.45.1"
|
|
24
30
|
},
|
|
25
31
|
"devDependencies": {
|
|
26
|
-
"@towns-labs/contracts": "^2.0.11",
|
|
27
32
|
"dotenv": "^16.4.5",
|
|
28
33
|
"oxlint": "^1.41.0",
|
|
29
34
|
"typescript": "~5.8.3",
|
|
35
|
+
"viem": "2.45.1",
|
|
30
36
|
"vitest": "^3.2.3"
|
|
31
37
|
},
|
|
32
38
|
"files": [
|