@rhinestone/sdk 0.8.0 → 0.8.2
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 +4 -4
- package/dist/src/accounts/index.d.ts.map +1 -0
- package/dist/src/accounts/index.test.d.ts +2 -0
- package/dist/src/accounts/index.test.d.ts.map +1 -0
- package/dist/src/accounts/index.test.js +35 -0
- package/dist/src/accounts/nexus.d.ts.map +1 -0
- package/dist/src/accounts/nexus.test.d.ts +2 -0
- package/dist/src/accounts/nexus.test.d.ts.map +1 -0
- package/dist/src/accounts/nexus.test.js +39 -0
- package/dist/src/accounts/safe.d.ts.map +1 -0
- package/dist/src/accounts/safe.test.d.ts +2 -0
- package/dist/src/accounts/safe.test.d.ts.map +1 -0
- package/dist/src/accounts/safe.test.js +39 -0
- package/dist/src/accounts/utils.d.ts.map +1 -0
- package/dist/src/accounts/utils.test.d.ts +2 -0
- package/dist/src/accounts/utils.test.d.ts.map +1 -0
- package/dist/src/accounts/utils.test.js +49 -0
- package/dist/src/execution/index.d.ts.map +1 -0
- package/dist/{execution → src/execution}/index.js +13 -1
- package/dist/src/execution/smart-session.d.ts.map +1 -0
- package/dist/src/execution/smart-session.test.d.ts +2 -0
- package/dist/src/execution/smart-session.test.d.ts.map +1 -0
- package/dist/src/execution/smart-session.test.js +133 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/modules/abi/smart-sessions.d.ts +104 -0
- package/dist/src/modules/abi/smart-sessions.d.ts.map +1 -0
- package/dist/src/modules/common.d.ts.map +1 -0
- package/dist/src/modules/index.d.ts.map +1 -0
- package/dist/src/modules/index.test.d.ts +2 -0
- package/dist/src/modules/index.test.d.ts.map +1 -0
- package/dist/src/modules/index.test.js +104 -0
- package/dist/src/modules/omni-account.d.ts.map +1 -0
- package/dist/src/modules/validators/core.d.ts +8 -0
- package/dist/src/modules/validators/core.d.ts.map +1 -0
- package/dist/{modules → src/modules}/validators/core.js +0 -2
- package/dist/src/modules/validators/core.test.d.ts +2 -0
- package/dist/src/modules/validators/core.test.d.ts.map +1 -0
- package/dist/src/modules/validators/core.test.js +101 -0
- package/dist/src/modules/validators/index.d.ts.map +1 -0
- package/dist/{modules → src/modules}/validators/smart-sessions.d.ts +34 -0
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions.test.d.ts +2 -0
- package/dist/src/modules/validators/smart-sessions.test.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions.test.js +226 -0
- package/dist/src/orchestrator/client.d.ts.map +1 -0
- package/dist/{orchestrator → src/orchestrator}/consts.d.ts +2 -2
- package/dist/src/orchestrator/consts.d.ts.map +1 -0
- package/dist/{orchestrator → src/orchestrator}/consts.js +2 -2
- package/dist/src/orchestrator/error.d.ts.map +1 -0
- package/dist/src/orchestrator/index.d.ts.map +1 -0
- package/dist/{orchestrator → src/orchestrator}/registry.d.ts +4 -1
- package/dist/src/orchestrator/registry.d.ts.map +1 -0
- package/dist/{orchestrator → src/orchestrator}/registry.js +9 -0
- package/dist/{orchestrator → src/orchestrator}/types.d.ts +14 -15
- package/dist/src/orchestrator/types.d.ts.map +1 -0
- package/dist/src/orchestrator/utils.d.ts.map +1 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/test/consts.d.ts +9 -0
- package/dist/test/consts.d.ts.map +1 -0
- package/dist/test/consts.js +20 -0
- package/package.json +1 -1
- package/dist/accounts/index.d.ts.map +0 -1
- package/dist/accounts/nexus.d.ts.map +0 -1
- package/dist/accounts/safe.d.ts.map +0 -1
- package/dist/accounts/utils.d.ts.map +0 -1
- package/dist/execution/index.d.ts.map +0 -1
- package/dist/execution/smart-session.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/modules/abi/smart-sessions.d.ts +0 -42
- package/dist/modules/abi/smart-sessions.d.ts.map +0 -1
- package/dist/modules/common.d.ts.map +0 -1
- package/dist/modules/index.d.ts.map +0 -1
- package/dist/modules/omni-account.d.ts.map +0 -1
- package/dist/modules/validators/core.d.ts +0 -23
- package/dist/modules/validators/core.d.ts.map +0 -1
- package/dist/modules/validators/index.d.ts.map +0 -1
- package/dist/modules/validators/smart-sessions.d.ts.map +0 -1
- package/dist/orchestrator/client.d.ts.map +0 -1
- package/dist/orchestrator/consts.d.ts.map +0 -1
- package/dist/orchestrator/error.d.ts.map +0 -1
- package/dist/orchestrator/index.d.ts.map +0 -1
- package/dist/orchestrator/registry.d.ts.map +0 -1
- package/dist/orchestrator/types.d.ts.map +0 -1
- package/dist/orchestrator/utils.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- /package/dist/{accounts → src/accounts}/index.d.ts +0 -0
- /package/dist/{accounts → src/accounts}/index.js +0 -0
- /package/dist/{accounts → src/accounts}/nexus.d.ts +0 -0
- /package/dist/{accounts → src/accounts}/nexus.js +0 -0
- /package/dist/{accounts → src/accounts}/safe.d.ts +0 -0
- /package/dist/{accounts → src/accounts}/safe.js +0 -0
- /package/dist/{accounts → src/accounts}/utils.d.ts +0 -0
- /package/dist/{accounts → src/accounts}/utils.js +0 -0
- /package/dist/{execution → src/execution}/index.d.ts +0 -0
- /package/dist/{execution → src/execution}/smart-session.d.ts +0 -0
- /package/dist/{execution → src/execution}/smart-session.js +0 -0
- /package/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/{index.js → src/index.js} +0 -0
- /package/dist/{modules → src/modules}/abi/smart-sessions.js +0 -0
- /package/dist/{modules → src/modules}/common.d.ts +0 -0
- /package/dist/{modules → src/modules}/common.js +0 -0
- /package/dist/{modules → src/modules}/index.d.ts +0 -0
- /package/dist/{modules → src/modules}/index.js +0 -0
- /package/dist/{modules → src/modules}/omni-account.d.ts +0 -0
- /package/dist/{modules → src/modules}/omni-account.js +0 -0
- /package/dist/{modules → src/modules}/validators/index.d.ts +0 -0
- /package/dist/{modules → src/modules}/validators/index.js +0 -0
- /package/dist/{modules → src/modules}/validators/smart-sessions.js +0 -0
- /package/dist/{orchestrator → src/orchestrator}/client.d.ts +0 -0
- /package/dist/{orchestrator → src/orchestrator}/client.js +0 -0
- /package/dist/{orchestrator → src/orchestrator}/error.d.ts +0 -0
- /package/dist/{orchestrator → src/orchestrator}/error.js +0 -0
- /package/dist/{orchestrator → src/orchestrator}/index.d.ts +0 -0
- /package/dist/{orchestrator → src/orchestrator}/index.js +0 -0
- /package/dist/{orchestrator → src/orchestrator}/types.js +0 -0
- /package/dist/{orchestrator → src/orchestrator}/utils.d.ts +0 -0
- /package/dist/{orchestrator → src/orchestrator}/utils.js +0 -0
- /package/dist/{types.d.ts → src/types.d.ts} +0 -0
- /package/dist/{types.js → src/types.js} +0 -0
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ const targetChain = arbitrumSepolia
|
|
|
60
60
|
|
|
61
61
|
// You can use an existing PK here
|
|
62
62
|
const privateKey = generatePrivateKey()
|
|
63
|
-
console.
|
|
63
|
+
console.info(`Owner private key: ${privateKey}`)
|
|
64
64
|
const account = privateKeyToAccount(privateKey)
|
|
65
65
|
|
|
66
66
|
const rhinestoneAccount = await createRhinestoneAccount({
|
|
@@ -71,7 +71,7 @@ const rhinestoneAccount = await createRhinestoneAccount({
|
|
|
71
71
|
rhinestoneApiKey,
|
|
72
72
|
})
|
|
73
73
|
const address = await rhinestoneAccount.getAddress()
|
|
74
|
-
console.
|
|
74
|
+
console.info(`Smart account address: ${address}`)
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
### Funding the Account
|
|
@@ -126,10 +126,10 @@ const transaction = await rhinestoneAccount.sendTransaction({
|
|
|
126
126
|
},
|
|
127
127
|
],
|
|
128
128
|
});
|
|
129
|
-
console.
|
|
129
|
+
console.info('Transaction', transaction);
|
|
130
130
|
|
|
131
131
|
const transactionResult = await rhinestoneAccount.waitForExecution(transaction);
|
|
132
|
-
console.
|
|
132
|
+
console.info('Result', transactionResult);
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
After running that, you will get a smart account deployed on both Base Sepolia and Arbitrum Sepolia, and make a cross-chain USDC transfer.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAKV,KAAK,GAAG,EAGR,KAAK,YAAY,EAIlB,MAAM,MAAM,CAAA;AAUb,OAAO,KAAK,EAEV,QAAQ,EACR,uBAAuB,EACvB,OAAO,EACR,MAAM,UAAU,CAAA;AAiBjB,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;;;;;;;;EAUrD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBAgBlD;AAED,iBAAe,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,oBAiBtE;AAED,iBAAe,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,iBAMxE;AAED,iBAAe,YAAY,CACzB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,OAAO,iBASlB;AAUD,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,6BAUzD;AAgID,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,sJA0Bb;AAED,iBAAe,2BAA2B,CACxC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,sJA8BjB;AAED,iBAAe,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,0BAYhE;AAgED,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,2BAA2B,EAC3B,IAAI,GACL,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../accounts/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const consts_1 = require("../../test/consts");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
(0, vitest_1.describe)('Accounts', () => {
|
|
7
|
+
(0, vitest_1.describe)('Get Address', () => {
|
|
8
|
+
(0, vitest_1.test)('Nexus, ECDSA owner', () => {
|
|
9
|
+
const address = (0, _1.getAddress)({
|
|
10
|
+
owners: {
|
|
11
|
+
type: 'ecdsa',
|
|
12
|
+
accounts: [consts_1.accountA, consts_1.accountB],
|
|
13
|
+
threshold: 1,
|
|
14
|
+
},
|
|
15
|
+
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
16
|
+
});
|
|
17
|
+
(0, vitest_1.expect)(address).toEqual('0xd8f8c35df8af22ad9c18dc96bc708c68827500e6');
|
|
18
|
+
});
|
|
19
|
+
(0, vitest_1.test)('Safe, passkey owner with a session', () => {
|
|
20
|
+
const address = (0, _1.getAddress)({
|
|
21
|
+
owners: {
|
|
22
|
+
type: 'passkey',
|
|
23
|
+
account: consts_1.passkeyAccount,
|
|
24
|
+
},
|
|
25
|
+
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.expect)(address).toEqual('0x75851281e7af9b9ebaf42abacce566d2a26c0cd7');
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
(0, vitest_1.describe)('Sign', () => {
|
|
31
|
+
vitest_1.test.todo('With ECDSA, single key');
|
|
32
|
+
vitest_1.test.todo('With ECDSA, multisig');
|
|
33
|
+
vitest_1.test.todo('With Passkey');
|
|
34
|
+
});
|
|
35
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nexus.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAUpE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AASjC,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAa1E,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;EA8ErD;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAWlC;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAuBlC;AAED,iBAAe,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,iEAkBxE;AAgFD,iBAAS,gBAAgB,CAAC,MAAM,EAAE,uBAAuB;;;IAqDxD;AAED,OAAO,EACL,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nexus.test.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const consts_1 = require("../../test/consts");
|
|
5
|
+
const nexus_1 = require("./nexus");
|
|
6
|
+
(0, vitest_1.describe)('Accounts: Nexus', () => {
|
|
7
|
+
(0, vitest_1.describe)('Deploy Args', () => {
|
|
8
|
+
(0, vitest_1.test)('ECDSA owners', () => {
|
|
9
|
+
const { factory, factoryData, salt, hashedInitcode, implementation, initializationCallData, } = (0, nexus_1.getDeployArgs)({
|
|
10
|
+
owners: {
|
|
11
|
+
type: 'ecdsa',
|
|
12
|
+
accounts: [consts_1.accountA, consts_1.accountB],
|
|
13
|
+
},
|
|
14
|
+
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
15
|
+
});
|
|
16
|
+
(0, vitest_1.expect)(factory).toEqual('0x000000001D1D5004a02bAfAb9de2D6CE5b7B13de');
|
|
17
|
+
(0, vitest_1.expect)(factoryData).toEqual('0xea6d13ac0000000000000000000000000000000000000000000000000000000000000040c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000d3254452a909e4eed47455af7e27c28900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000604544d586000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002483da3a338895199e5e538530213157e931bf06000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da0994869360000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069e2a187aeffb852bf3ccdc95151b2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d0300000000000000000000000000000000000000000000000000000000');
|
|
18
|
+
(0, vitest_1.expect)(salt).toEqual('0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470');
|
|
19
|
+
(0, vitest_1.expect)(hashedInitcode).toEqual('0xcd60747eeb90129e87a740c20bf9191f526ec53fcf693fe4415f0264a5e5d8ab');
|
|
20
|
+
(0, vitest_1.expect)(implementation).toEqual('0x000000004f43c49e93c970e84001853a70923b03');
|
|
21
|
+
(0, vitest_1.expect)(initializationCallData).toEqual('0x4b6a14190000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000d3254452a909e4eed47455af7e27c28900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000604544d586000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002483da3a338895199e5e538530213157e931bf06000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da0994869360000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069e2a187aeffb852bf3ccdc95151b2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d0300000000000000000000000000000000000000000000000000000000');
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.test)('Passkey owner', () => {
|
|
24
|
+
const { factory, factoryData, salt, hashedInitcode, implementation, initializationCallData, } = (0, nexus_1.getDeployArgs)({
|
|
25
|
+
owners: {
|
|
26
|
+
type: 'passkey',
|
|
27
|
+
account: consts_1.passkeyAccount,
|
|
28
|
+
},
|
|
29
|
+
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
30
|
+
});
|
|
31
|
+
(0, vitest_1.expect)(factory).toEqual('0x000000001D1D5004a02bAfAb9de2D6CE5b7B13de');
|
|
32
|
+
(0, vitest_1.expect)(factoryData).toEqual('0xea6d13ac0000000000000000000000000000000000000000000000000000000000000040c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000d3254452a909e4eed47455af7e27c289000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005c4544d586000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002f167e55d42584f65e2e30a748f41ee75a31141400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069e2a187aeffb852bf3ccdc95151b2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d0300000000000000000000000000000000000000000000000000000000');
|
|
33
|
+
(0, vitest_1.expect)(salt).toEqual('0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470');
|
|
34
|
+
(0, vitest_1.expect)(hashedInitcode).toEqual('0xc0700773a0a837600ad91013a852ad85ebb16205dcb7513d7c89f78c9adfec34');
|
|
35
|
+
(0, vitest_1.expect)(implementation).toEqual('0x000000004f43c49e93c970e84001853a70923b03');
|
|
36
|
+
(0, vitest_1.expect)(initializationCallData).toEqual('0x4b6a14190000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000d3254452a909e4eed47455af7e27c289000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005c4544d586000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002f167e55d42584f65e2e30a748f41ee75a31141400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069e2a187aeffb852bf3ccdc95151b2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d0300000000000000000000000000000000000000000000000000000000');
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../../accounts/safe.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EAIZ,KAAK,GAAG,EAER,KAAK,YAAY,EAGlB,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AASjC,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAgB1E,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;EA0ErD;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAWlC;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAuBlC;AA0ED,iBAAS,mBAAmB,IAAI,KAAK,CAEpC;AAED,iBAAS,gBAAgB,IAAI,KAAK,CAEjC;AAsBD,OAAO,EACL,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe.test.d.ts","sourceRoot":"","sources":["../../../accounts/safe.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const consts_1 = require("../../test/consts");
|
|
5
|
+
const safe_1 = require("./safe");
|
|
6
|
+
(0, vitest_1.describe)('Accounts: Safe', () => {
|
|
7
|
+
(0, vitest_1.describe)('Deploy Args', () => {
|
|
8
|
+
(0, vitest_1.test)('ECDSA owners', () => {
|
|
9
|
+
const { factory, factoryData, salt, hashedInitcode, implementation, initializationCallData, } = (0, safe_1.getDeployArgs)({
|
|
10
|
+
owners: {
|
|
11
|
+
type: 'ecdsa',
|
|
12
|
+
accounts: [consts_1.accountA, consts_1.accountB],
|
|
13
|
+
},
|
|
14
|
+
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
15
|
+
});
|
|
16
|
+
(0, vitest_1.expect)(factory).toEqual('0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67');
|
|
17
|
+
(0, vitest_1.expect)(factoryData).toEqual('0x1688f0b900000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c762000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000704b63e800d000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007579011ab74c46090561ea277ba79d510c6c00ff00000000000000000000000000000000000000000000000000000000000001600000000000000000000000007579ee8307284f293b1927136486880611f200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f6c02c78ded62973b43bfa523b247da0994869360000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb70000000000000000000000000000000000000000000000000000000000000564d78343d90000000000000000000000007579ee8307284f293b1927136486880611f2000200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002483da3a338895199e5e538530213157e931bf06000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da0994869360000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
|
|
18
|
+
(0, vitest_1.expect)(salt).toEqual('0x90fef481a644e27fec02dc6b8365bf9a7354b19d9aa4f749b4a706cc0b11af99');
|
|
19
|
+
(0, vitest_1.expect)(hashedInitcode).toEqual('0xe298282cefe913ab5d282047161268a8222e4bd4ed106300c547894bbefd31ee');
|
|
20
|
+
(0, vitest_1.expect)(implementation).toEqual('0x29fcb43b46531bca003ddc8fcb67ffe91900c762');
|
|
21
|
+
(0, vitest_1.expect)(initializationCallData).toEqual(null);
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.test)('Passkey owner', () => {
|
|
24
|
+
const { factory, factoryData, salt, hashedInitcode, implementation, initializationCallData, } = (0, safe_1.getDeployArgs)({
|
|
25
|
+
owners: {
|
|
26
|
+
type: 'passkey',
|
|
27
|
+
account: consts_1.passkeyAccount,
|
|
28
|
+
},
|
|
29
|
+
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
30
|
+
});
|
|
31
|
+
(0, vitest_1.expect)(factory).toEqual('0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67');
|
|
32
|
+
(0, vitest_1.expect)(factoryData).toEqual('0x1688f0b900000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c7620000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a4b63e800d000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007579011ab74c46090561ea277ba79d510c6c00ff00000000000000000000000000000000000000000000000000000000000001400000000000000000000000007579ee8307284f293b1927136486880611f200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000babe99e62d8bcbd3acf5ccbcfcd4f64fe75e5e720000000000000000000000000000000000000000000000000000000000000524d78343d90000000000000000000000007579ee8307284f293b1927136486880611f2000200000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002f167e55d42584f65e2e30a748f41ee75a31141400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
|
|
33
|
+
(0, vitest_1.expect)(salt).toEqual('0xdbd211aaf7a8d731e9c157757bd788e574950b04aa1a9ccc031dbb7f47db21e6');
|
|
34
|
+
(0, vitest_1.expect)(hashedInitcode).toEqual('0xe298282cefe913ab5d282047161268a8222e4bd4ed106300c547894bbefd31ee');
|
|
35
|
+
(0, vitest_1.expect)(implementation).toEqual('0x29fcb43b46531bca003ddc8fcb67ffe91900c762');
|
|
36
|
+
(0, vitest_1.expect)(initializationCallData).toEqual(null);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../accounts/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAchD,OAAO,KAAK,EAAiB,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEtE,KAAK,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAErD,UAAU,aAAa,CAAC,QAAQ,SAAS,QAAQ;IAC/C,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,OAAO,CAAC,EAAE,GAAG,CAAA;CACd;AAED,UAAU,oBAAoB,CAAC,QAAQ,SAAS,QAAQ;IACtD,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC7B,QAAQ,EAAE,SAAS;QACjB,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;KACvB,EAAE,CAAA;CACJ;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAkDD,iBAAS,eAAe,CAAC,QAAQ,SAAS,QAAQ,EAAE,EAClD,IAAI,EACJ,QAAQ,GACT,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,GAAG,CAuFtC;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,6IAyBxE;AAyBD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../accounts/utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const utils_1 = require("./utils");
|
|
5
|
+
const target = '0xc7c0190e83dedd6f28cad873b7befe9ab06fc0db';
|
|
6
|
+
const data = '0xabcd';
|
|
7
|
+
(0, vitest_1.describe)('Accounts: Utils', () => {
|
|
8
|
+
(0, vitest_1.describe)('Encode ERC-7579 Calls', () => {
|
|
9
|
+
(0, vitest_1.test)('single call', () => {
|
|
10
|
+
const calldata = (0, utils_1.encode7579Calls)({
|
|
11
|
+
mode: {
|
|
12
|
+
type: 'call',
|
|
13
|
+
revertOnError: false,
|
|
14
|
+
selector: '0x',
|
|
15
|
+
context: '0x',
|
|
16
|
+
},
|
|
17
|
+
callData: [
|
|
18
|
+
{
|
|
19
|
+
to: target,
|
|
20
|
+
value: 1n,
|
|
21
|
+
data,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
});
|
|
25
|
+
(0, vitest_1.expect)(calldata).toEqual('0xe9ae5c53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000036c7c0190e83dedd6f28cad873b7befe9ab06fc0db0000000000000000000000000000000000000000000000000000000000000001abcd00000000000000000000');
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.test)('batch call', () => {
|
|
28
|
+
const calldata = (0, utils_1.encode7579Calls)({
|
|
29
|
+
mode: {
|
|
30
|
+
type: 'batchcall',
|
|
31
|
+
revertOnError: false,
|
|
32
|
+
selector: '0x',
|
|
33
|
+
context: '0x',
|
|
34
|
+
},
|
|
35
|
+
callData: [
|
|
36
|
+
{
|
|
37
|
+
to: target,
|
|
38
|
+
value: 1n,
|
|
39
|
+
data,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
to: target,
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
});
|
|
46
|
+
(0, vitest_1.expect)(calldata).toEqual('0xe9ae5c530100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000c7c0190e83dedd6f28cad873b7befe9ab06fc0db000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002abcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000c7c0190e83dedd6f28cad873b7befe9ab06fc0db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000');
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,GAAG,EAMT,MAAM,MAAM,CAAA;AAmBb,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,iBAAiB,CAAA;AAqBxB,OAAO,KAAK,EAEV,uBAAuB,EAIvB,WAAW,EACZ,MAAM,UAAU,CAAA;AASjB,KAAK,iBAAiB,GAClB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAEL,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,WAAW,8BAyBzB;AAsSD,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,iBAAiB,EACzB,uBAAuB,EAAE,OAAO;;;;;;;;;;;;GAwCjC;AAED,iBAAe,qBAAqB,CAClC,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,iBAAe,YAAY,CACzB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,OAAO,yDAMpB;AASD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -82,6 +82,11 @@ async function sendTransactionAsUserOp(config, sourceChain, targetChain, calls,
|
|
|
82
82
|
targetChain: targetChain.id,
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
+
const accountAccessList = sourceChain
|
|
86
|
+
? {
|
|
87
|
+
chainIds: [sourceChain.id],
|
|
88
|
+
}
|
|
89
|
+
: (0, registry_1.getDefaultAccountAccessList)();
|
|
85
90
|
const metaIntent = {
|
|
86
91
|
targetChainId: targetChain.id,
|
|
87
92
|
tokenTransfers: tokenRequests.map((tokenRequest) => ({
|
|
@@ -91,6 +96,7 @@ async function sendTransactionAsUserOp(config, sourceChain, targetChain, calls,
|
|
|
91
96
|
targetAccount: accountAddress,
|
|
92
97
|
targetGasUnits: gasLimit,
|
|
93
98
|
userOp: (0, orchestrator_1.getEmptyUserOp)(),
|
|
99
|
+
accountAccessList,
|
|
94
100
|
};
|
|
95
101
|
const orchestrator = getOrchestratorByChain(targetChain.id, config.rhinestoneApiKey);
|
|
96
102
|
const orderPath = await orchestrator.getOrderPath(metaIntent, accountAddress);
|
|
@@ -153,6 +159,11 @@ async function sendTransactionAsUserOp(config, sourceChain, targetChain, calls,
|
|
|
153
159
|
};
|
|
154
160
|
}
|
|
155
161
|
async function sendTransactionAsIntent(config, sourceChain, targetChain, calls, gasLimit, tokenRequests, accountAddress) {
|
|
162
|
+
const accountAccessList = sourceChain
|
|
163
|
+
? {
|
|
164
|
+
chainIds: [sourceChain.id],
|
|
165
|
+
}
|
|
166
|
+
: (0, registry_1.getDefaultAccountAccessList)();
|
|
156
167
|
const metaIntent = {
|
|
157
168
|
targetChainId: targetChain.id,
|
|
158
169
|
tokenTransfers: tokenRequests.map((tokenRequest) => ({
|
|
@@ -166,6 +177,7 @@ async function sendTransactionAsIntent(config, sourceChain, targetChain, calls,
|
|
|
166
177
|
data: call.data ?? '0x',
|
|
167
178
|
})),
|
|
168
179
|
targetGasUnits: gasLimit,
|
|
180
|
+
accountAccessList,
|
|
169
181
|
};
|
|
170
182
|
const orchestrator = getOrchestratorByChain(targetChain.id, config.rhinestoneApiKey);
|
|
171
183
|
const orderPath = await orchestrator.getOrderPath(metaIntent, accountAddress);
|
|
@@ -242,7 +254,7 @@ async function getPortfolio(config, onTestnets) {
|
|
|
242
254
|
const address = (0, accounts_1.getAddress)(config);
|
|
243
255
|
const chainId = onTestnets ? chains_1.sepolia.id : chains_1.mainnet.id;
|
|
244
256
|
const orchestrator = getOrchestratorByChain(chainId, config.rhinestoneApiKey);
|
|
245
|
-
return orchestrator.getPortfolio(address);
|
|
257
|
+
return orchestrator.getPortfolio(address, (0, registry_1.getDefaultAccountAccessList)());
|
|
246
258
|
}
|
|
247
259
|
function getOrchestratorByChain(chainId, apiKey) {
|
|
248
260
|
const orchestratorUrl = (0, registry_1.isTestnet)(chainId)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAWb,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEhE,iBAAe,kBAAkB,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,OAAO,iBAyBjB;AAED,iBAAe,WAAW,CACxB,WAAW,EAAE,KAAK,EAClB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,OAAO;;;;;GAiExB;AAED,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,GAAG,EACd,kBAAkB,EAAE,GAAG,EACvB,UAAU,EAAE,GAAG,EACf,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,OAAO,iBAkBrB;AAED,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-session.test.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const viem_1 = require("viem");
|
|
4
|
+
const chains_1 = require("viem/chains");
|
|
5
|
+
const vitest_1 = require("vitest");
|
|
6
|
+
const consts_1 = require("../../test/consts");
|
|
7
|
+
const smart_session_1 = require("./smart-session");
|
|
8
|
+
const hash = (0, viem_1.keccak256)('0xabcd');
|
|
9
|
+
(0, vitest_1.describe)('Smart Session', () => {
|
|
10
|
+
(0, vitest_1.describe)('Session Signature', () => {
|
|
11
|
+
(0, vitest_1.test)('default', () => {
|
|
12
|
+
const signature = (0, smart_session_1.getSessionSignature)('0x81d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b', '0xf5f6dfa751763cc5278cba45d03ea9797c1660b2cb7f5ffd188fa3e8523abdca', hash, 'MultichainCompact(address sponsor,uint256 nonce,uint256 expires,Segment[] segments)Segment(address arbiter,uint256 chainId,uint256[2][] idsAndAmounts,Witness witness)Witness(address recipient,uint256[2][] tokenOut,uint256 depositId,uint256 targetChain,uint32 fillDeadline,XchainExec[] execs,bytes32 userOpHash,uint32 maxFeeBps)XchainExec(address to,uint256 value,bytes data)', {
|
|
13
|
+
owners: {
|
|
14
|
+
type: 'ecdsa',
|
|
15
|
+
accounts: [consts_1.accountA],
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.expect)(signature).toEqual('0xccebde8bf6e5be4357e71b316fb7f8ceb5f6046f3b941157ae8fca3458ec4b8881d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1bf5f6dfa751763cc5278cba45d03ea9797c1660b2cb7f5ffd188fa3e8523abdcadbe576b4818846aa77e82f4ed5fa78f92766b141f282d36703886d196df393224d756c7469636861696e436f6d7061637428616464726573732073706f6e736f722c75696e74323536206e6f6e63652c75696e7432353620657870697265732c5365676d656e745b5d207365676d656e7473295365676d656e74286164647265737320617262697465722c75696e7432353620636861696e49642c75696e743235365b325d5b5d20696473416e64416d6f756e74732c5769746e657373207769746e657373295769746e657373286164647265737320726563697069656e742c75696e743235365b325d5b5d20746f6b656e4f75742c75696e74323536206465706f73697449642c75696e7432353620746172676574436861696e2c75696e7433322066696c6c446561646c696e652c58636861696e457865635b5d2065786563732c6279746573333220757365724f70486173682c75696e743332206d61784665654270732958636861696e45786563286164647265737320746f2c75696e743235362076616c75652c62797465732064617461290176');
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.describe)('ERC-7739 Hash', () => {
|
|
22
|
+
vitest_1.vi.mock('viem', async (importOriginal) => {
|
|
23
|
+
const actual = await importOriginal();
|
|
24
|
+
return {
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
...actual,
|
|
27
|
+
createPublicClient: vitest_1.vi.fn().mockReturnValue({
|
|
28
|
+
readContract: vitest_1.vi.fn(),
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
const client = viem_1.createPublicClient;
|
|
33
|
+
client.mockImplementation((_) => {
|
|
34
|
+
return {
|
|
35
|
+
readContract: (params) => {
|
|
36
|
+
if (params.functionName === 'DOMAIN_SEPARATOR') {
|
|
37
|
+
return '0xf5f6dfa751763cc5278cba45d03ea9797c1660b2cb7f5ffd188fa3e8523abdca';
|
|
38
|
+
}
|
|
39
|
+
if (params.functionName === 'eip712Domain') {
|
|
40
|
+
return [
|
|
41
|
+
'0x0f',
|
|
42
|
+
'Nexus',
|
|
43
|
+
'1.2.0',
|
|
44
|
+
84532n,
|
|
45
|
+
'0x6eCBF67Ec3C83F69793f47a6d285205211Cce6B8',
|
|
46
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
47
|
+
[],
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
throw new Error('Unknown function call');
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
(0, vitest_1.test)('default', async () => {
|
|
55
|
+
const { hash, appDomainSeparator, contentsType, structHash } = await (0, smart_session_1.hashErc7739)(chains_1.baseSepolia, [
|
|
56
|
+
{
|
|
57
|
+
orderBundle: {
|
|
58
|
+
sponsor: '0x306651f0849c673fdd047e02b12876c3f3a0ea7f',
|
|
59
|
+
nonce: 9485744147263218405930911645136653780776457667745611332784875666970100155394n,
|
|
60
|
+
expires: 1779186360n,
|
|
61
|
+
segments: [
|
|
62
|
+
{
|
|
63
|
+
arbiter: '0x0000000000AFc904aE9860D9c4B96D7c529c58b8',
|
|
64
|
+
chainId: 84532n,
|
|
65
|
+
idsAndAmounts: [
|
|
66
|
+
[
|
|
67
|
+
21847980266613871481014731415167448634647776251198795536684055616834884337664n,
|
|
68
|
+
27972738278553n,
|
|
69
|
+
],
|
|
70
|
+
],
|
|
71
|
+
witness: {
|
|
72
|
+
recipient: '0x306651f0849c673fdd047e02b12876c3f3a0ea7f',
|
|
73
|
+
tokenOut: [
|
|
74
|
+
[
|
|
75
|
+
21847980266613871481014731415714625498819945639464912901926990218956488388823n,
|
|
76
|
+
1n,
|
|
77
|
+
],
|
|
78
|
+
],
|
|
79
|
+
depositId: 9485744147263218405930911645136653780776457667745611332784875666970100155394n,
|
|
80
|
+
targetChain: 11155420n,
|
|
81
|
+
fillDeadline: 1747650660,
|
|
82
|
+
execs: [],
|
|
83
|
+
userOpHash: '0x77de857754318bd623d5fcfe907f521b5702e66f7620497a1240b00c3cf687d4',
|
|
84
|
+
maxFeeBps: 0,
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
injectedExecutions: [
|
|
90
|
+
{
|
|
91
|
+
to: '0x000000000060f6e853447881951574CDd0663530',
|
|
92
|
+
value: 0n,
|
|
93
|
+
data: '0xa2418864dfa33131e10fc5a4e964266d3b723c3fdf6d8820a98b45fe72bc4c832bcfc958b65a2e3c262d6aa13e67774994610c7865b1cdddff9f09652afc066a69dde63614f8bdad59484b94317dabddf28f017b76319442ad57376abb19de5acb1cc40200000000000000000000000000000000000000000000000000000000682b0864',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
to: '0x0000000000f6Ed8Be424d673c63eeFF8b9267420',
|
|
97
|
+
value: 0n,
|
|
98
|
+
data: '0x27c777a9000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0510a9471ae4610d769e9f0075021f0c90470857f353a70908c692324def23262000000000000000000000000000000000000000000000000000000006a0c3ab8304d84c3d9a7be3b28c945315fd84259d66cd46123540766be93dfe6d43130d70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000306651f0849c673fdd047e02b12876c3f3a0ea7f00000000000000000000000000000000000000000000000000000000000000417f521211e594e88797bf4c53f49c2afbd56219384a175209be50509c03a94eea1a2ce4a2ea0d57084f820ab7527f3661f5c394f6c53ff05425407b990f50d0d91c00000000000000000000000000000000000000000000000000000000000000',
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
intentCost: {
|
|
102
|
+
hasFulfilledAll: true,
|
|
103
|
+
tokensSpent: {
|
|
104
|
+
'84532': {
|
|
105
|
+
'0x0000000000000000000000000000000000000000': 27972738278553n,
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
tokensReceived: [
|
|
109
|
+
{
|
|
110
|
+
tokenAddress: '0x5fd84259d66cd46123540766be93dfe6d43130d7',
|
|
111
|
+
hasFulfilled: true,
|
|
112
|
+
amountSpent: 66715n,
|
|
113
|
+
targetAmount: 1n,
|
|
114
|
+
fee: 66714n,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
tokenAddress: '0x0000000000000000000000000000000000000000',
|
|
118
|
+
hasFulfilled: true,
|
|
119
|
+
amountSpent: 0n,
|
|
120
|
+
targetAmount: 0n,
|
|
121
|
+
fee: 0n,
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
], '0x306651f0849c673fdd047e02b12876c3f3a0ea7f');
|
|
127
|
+
(0, vitest_1.expect)(hash).toEqual('0x8b5043375be2b2c81bffc55e91991c91f9b4daec94999cc934071e32e0c2bc83');
|
|
128
|
+
(0, vitest_1.expect)(appDomainSeparator).toEqual('0xf5f6dfa751763cc5278cba45d03ea9797c1660b2cb7f5ffd188fa3e8523abdca');
|
|
129
|
+
(0, vitest_1.expect)(contentsType).toEqual('MultichainCompact(address sponsor,uint256 nonce,uint256 expires,Segment[] segments)Segment(address arbiter,uint256 chainId,uint256[2][] idsAndAmounts,Witness witness)Witness(address recipient,uint256[2][] tokenOut,uint256 depositId,uint256 targetChain,uint32 fillDeadline,XchainExec[] execs,bytes32 userOpHash,uint32 maxFeeBps)XchainExec(address to,uint256 value,bytes data)');
|
|
130
|
+
(0, vitest_1.expect)(structHash).toEqual('0x6622d2a44c958ffed7b7b3746f4fc9c2e39543858f6f176cc58ccf7741c65b4a');
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAOpD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EACV,IAAI,EACJ,SAAS,EACT,uBAAuB,EACvB,OAAO,EACP,WAAW,EACZ,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,iBAAe,uBAAuB,CAAC,MAAM,EAAE,uBAAuB;;mCAM9B,WAAW;+BAWvC,iBAAiB;;;;;;;;;;;;;;;mCA+BlB,KAAK,gBACE,OAAO,YACX,MAAM;GAanB;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,YAAY,EACV,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,CAAA"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
declare const enableSessionsAbi: readonly [{
|
|
2
|
+
readonly type: "function";
|
|
3
|
+
readonly name: "enableSessions";
|
|
4
|
+
readonly inputs: readonly [{
|
|
5
|
+
readonly name: "sessions";
|
|
6
|
+
readonly type: "tuple[]";
|
|
7
|
+
readonly internalType: "struct Session[]";
|
|
8
|
+
readonly components: readonly [{
|
|
9
|
+
readonly name: "sessionValidator";
|
|
10
|
+
readonly type: "address";
|
|
11
|
+
readonly internalType: "contract ISessionValidator";
|
|
12
|
+
}, {
|
|
13
|
+
readonly name: "sessionValidatorInitData";
|
|
14
|
+
readonly type: "bytes";
|
|
15
|
+
readonly internalType: "bytes";
|
|
16
|
+
}, {
|
|
17
|
+
readonly name: "salt";
|
|
18
|
+
readonly type: "bytes32";
|
|
19
|
+
readonly internalType: "bytes32";
|
|
20
|
+
}, {
|
|
21
|
+
readonly name: "userOpPolicies";
|
|
22
|
+
readonly type: "tuple[]";
|
|
23
|
+
readonly internalType: "struct PolicyData[]";
|
|
24
|
+
readonly components: readonly [{
|
|
25
|
+
readonly name: "policy";
|
|
26
|
+
readonly type: "address";
|
|
27
|
+
readonly internalType: "address";
|
|
28
|
+
}, {
|
|
29
|
+
readonly name: "initData";
|
|
30
|
+
readonly type: "bytes";
|
|
31
|
+
readonly internalType: "bytes";
|
|
32
|
+
}];
|
|
33
|
+
}, {
|
|
34
|
+
readonly name: "erc7739Policies";
|
|
35
|
+
readonly type: "tuple";
|
|
36
|
+
readonly internalType: "struct ERC7739Data";
|
|
37
|
+
readonly components: readonly [{
|
|
38
|
+
readonly name: "allowedERC7739Content";
|
|
39
|
+
readonly type: "tuple[]";
|
|
40
|
+
readonly internalType: "struct ERC7739Context[]";
|
|
41
|
+
readonly components: readonly [{
|
|
42
|
+
readonly name: "appDomainSeparator";
|
|
43
|
+
readonly type: "bytes32";
|
|
44
|
+
readonly internalType: "bytes32";
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "contentName";
|
|
47
|
+
readonly type: "string[]";
|
|
48
|
+
readonly internalType: "string[]";
|
|
49
|
+
}];
|
|
50
|
+
}, {
|
|
51
|
+
readonly name: "erc1271Policies";
|
|
52
|
+
readonly type: "tuple[]";
|
|
53
|
+
readonly internalType: "struct PolicyData[]";
|
|
54
|
+
readonly components: readonly [{
|
|
55
|
+
readonly name: "policy";
|
|
56
|
+
readonly type: "address";
|
|
57
|
+
readonly internalType: "address";
|
|
58
|
+
}, {
|
|
59
|
+
readonly name: "initData";
|
|
60
|
+
readonly type: "bytes";
|
|
61
|
+
readonly internalType: "bytes";
|
|
62
|
+
}];
|
|
63
|
+
}];
|
|
64
|
+
}, {
|
|
65
|
+
readonly name: "actions";
|
|
66
|
+
readonly type: "tuple[]";
|
|
67
|
+
readonly internalType: "struct ActionData[]";
|
|
68
|
+
readonly components: readonly [{
|
|
69
|
+
readonly name: "actionTargetSelector";
|
|
70
|
+
readonly type: "bytes4";
|
|
71
|
+
readonly internalType: "bytes4";
|
|
72
|
+
}, {
|
|
73
|
+
readonly name: "actionTarget";
|
|
74
|
+
readonly type: "address";
|
|
75
|
+
readonly internalType: "address";
|
|
76
|
+
}, {
|
|
77
|
+
readonly name: "actionPolicies";
|
|
78
|
+
readonly type: "tuple[]";
|
|
79
|
+
readonly internalType: "struct PolicyData[]";
|
|
80
|
+
readonly components: readonly [{
|
|
81
|
+
readonly name: "policy";
|
|
82
|
+
readonly type: "address";
|
|
83
|
+
readonly internalType: "address";
|
|
84
|
+
}, {
|
|
85
|
+
readonly name: "initData";
|
|
86
|
+
readonly type: "bytes";
|
|
87
|
+
readonly internalType: "bytes";
|
|
88
|
+
}];
|
|
89
|
+
}];
|
|
90
|
+
}, {
|
|
91
|
+
readonly name: "permitERC4337Paymaster";
|
|
92
|
+
readonly type: "bool";
|
|
93
|
+
readonly internalType: "bool";
|
|
94
|
+
}];
|
|
95
|
+
}];
|
|
96
|
+
readonly outputs: readonly [{
|
|
97
|
+
readonly name: "permissionIds";
|
|
98
|
+
readonly type: "bytes32[]";
|
|
99
|
+
readonly internalType: "PermissionId[]";
|
|
100
|
+
}];
|
|
101
|
+
readonly stateMutability: "nonpayable";
|
|
102
|
+
}];
|
|
103
|
+
export { enableSessionsAbi };
|
|
104
|
+
//# sourceMappingURL=smart-sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/abi/smart-sessions.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Hb,CAAA;AAEV,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../modules/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAExC,KAAK,UAAU,GACX,OAAO,wBAAwB,GAC/B,OAAO,uBAAuB,GAC9B,OAAO,uBAAuB,GAC9B,OAAO,mBAAmB,CAAA;AAE9B,UAAU,MAAM;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,GAAG,CAAA;IACf,iBAAiB,EAAE,GAAG,CAAA;IACtB,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,QAAA,MAAM,wBAAwB,KAAK,CAAA;AACnC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,mBAAmB,KAAK,CAAA;AAE9B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,CAAA;AACD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,KAAK,EAEV,KAAK,GAAG,EAET,MAAM,MAAM,CAAA;AAYb,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEvD,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,YAAY,EAMb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAA4B,MAAM,cAAc,CAAA;AAK1E,UAAU,YAAY;IACpB,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B;AAED,UAAU,0BAA0B;IAClC,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,iBAAiB,GAAG,GAAG,GAAG,UAAU,CAAA;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,UAAU,iBAAiB;IACzB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,iBAAS,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CAoF9D;AAED,iBAAS,6BAA6B,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,cAAsB,GACvB,EAAE,0BAA0B,iBA6C5B;AAED,iBAAS,yBAAyB,CAAC,KAAK,EAAE,KAAK,WAa9C;AAaD,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,6BAA6B,EAC7B,yBAAyB,GAC1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../modules/index.test.ts"],"names":[],"mappings":""}
|