@rhinestone/sdk 1.13.3 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/accounts/index.d.ts +1 -1
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +7 -7
- package/dist/src/accounts/signing/common.d.ts +5 -3
- package/dist/src/accounts/signing/common.d.ts.map +1 -1
- package/dist/src/accounts/signing/common.js +47 -23
- package/dist/src/accounts/signing/message.d.ts +2 -2
- package/dist/src/accounts/signing/message.d.ts.map +1 -1
- package/dist/src/accounts/signing/message.js +2 -2
- package/dist/src/accounts/signing/passkeys.d.ts +6 -1
- package/dist/src/accounts/signing/passkeys.d.ts.map +1 -1
- package/dist/src/accounts/signing/passkeys.js +34 -0
- package/dist/src/accounts/signing/typedData.d.ts +2 -2
- package/dist/src/accounts/signing/typedData.d.ts.map +1 -1
- package/dist/src/accounts/signing/typedData.js +2 -2
- package/dist/src/actions/mfa.d.ts +5 -4
- package/dist/src/actions/mfa.d.ts.map +1 -1
- package/dist/src/actions/mfa.js +5 -1
- package/dist/src/actions/smart-sessions.d.ts +2 -1
- package/dist/src/actions/smart-sessions.d.ts.map +1 -1
- package/dist/src/actions/smart-sessions.js +6 -0
- package/dist/src/execution/index.d.ts +2 -1
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +5 -4
- package/dist/src/execution/quoters.d.ts +7 -0
- package/dist/src/execution/quoters.d.ts.map +1 -0
- package/dist/src/execution/quoters.js +55 -0
- package/dist/src/execution/utils.d.ts +2 -2
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +25 -6
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/modules/validators/core.d.ts +2 -1
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/core.js +94 -8
- package/dist/src/modules/validators/smart-sessions/swap/abi.d.ts +3 -0
- package/dist/src/modules/validators/smart-sessions/swap/abi.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/swap/abi.js +67 -0
- package/dist/src/modules/validators/smart-sessions/swap/fynd.d.ts +92 -0
- package/dist/src/modules/validators/smart-sessions/swap/fynd.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/swap/fynd.js +106 -0
- package/dist/src/modules/validators/smart-sessions/swap/rhinestone.d.ts +147 -0
- package/dist/src/modules/validators/smart-sessions/swap/rhinestone.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/swap/rhinestone.js +311 -0
- package/dist/src/modules/validators/smart-sessions/swap/rules.d.ts +73 -0
- package/dist/src/modules/validators/smart-sessions/swap/rules.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/swap/rules.js +112 -0
- package/dist/src/modules/validators/smart-sessions/swap/scope.d.ts +18 -0
- package/dist/src/modules/validators/smart-sessions/swap/scope.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/swap/scope.js +124 -0
- package/dist/src/modules/validators/smart-sessions/swap/zero-ex.d.ts +143 -0
- package/dist/src/modules/validators/smart-sessions/swap/zero-ex.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/swap/zero-ex.js +170 -0
- package/dist/src/modules/validators/smart-sessions.d.ts +9 -3
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.js +229 -89
- package/dist/src/orchestrator/consts.d.ts +1 -1
- package/dist/src/orchestrator/consts.js +1 -1
- package/dist/src/orchestrator/index.d.ts +2 -2
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/types.d.ts +12 -1
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +62 -3
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -36,7 +36,7 @@ declare function getAddress(config: RhinestoneConfig): `0x${string}`;
|
|
|
36
36
|
declare function checkAddress(config: RhinestoneConfig): boolean;
|
|
37
37
|
declare function getEip1271Signature(config: RhinestoneConfig, signers: InternalSignerSet | undefined, chain: Chain, validator: ValidatorConfig, hash: Hex, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
|
|
38
38
|
declare function getEmissarySignature(config: RhinestoneConfig, signers: InternalSignerSet | undefined, chain: Chain, hash: Hex, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
|
|
39
|
-
declare function getTypedDataPackedSignature<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(config: RhinestoneConfig, signers: InternalSignerSet | undefined, chain: Chain, validator: ValidatorConfig, parameters: HashTypedDataParameters<typedData, primaryType>, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
|
|
39
|
+
declare function getTypedDataPackedSignature<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(config: RhinestoneConfig, signers: InternalSignerSet | undefined, chain: Chain, validator: ValidatorConfig, parameters: HashTypedDataParameters<typedData, primaryType>, configuredOwners?: OwnerSet, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
|
|
40
40
|
declare function isDeployed(config: RhinestoneConfig, chain: Chain): Promise<boolean>;
|
|
41
41
|
declare function deploy(config: RhinestoneConfig, chain: Chain, params?: {
|
|
42
42
|
sponsored?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -359,7 +359,7 @@ async function getEip1271Signature(config, signers, chain, validator, hash, tran
|
|
|
359
359
|
throw new error_1.EoaSigningNotSupportedError('packed signatures');
|
|
360
360
|
}
|
|
361
361
|
signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
|
|
362
|
-
const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, false);
|
|
362
|
+
const signFn = (hash) => (0, message_1.sign)(signers, config.owners, chain, address, hash, false);
|
|
363
363
|
const account = getAccountProvider(config);
|
|
364
364
|
const address = getAddress(config);
|
|
365
365
|
switch (account.type) {
|
|
@@ -400,18 +400,18 @@ async function getEmissarySignature(config, signers, chain, hash, transformSigna
|
|
|
400
400
|
}
|
|
401
401
|
signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
|
|
402
402
|
const address = getAddress(config);
|
|
403
|
-
const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, false);
|
|
403
|
+
const signFn = (hash) => (0, message_1.sign)(signers, config.owners, chain, address, hash, false);
|
|
404
404
|
const signature = await signFn(hash);
|
|
405
405
|
return transformSignature(signature);
|
|
406
406
|
}
|
|
407
407
|
// Signs and packs a signature to be EIP-1271 compatible
|
|
408
|
-
async function getTypedDataPackedSignature(config, signers, chain, validator, parameters, transformSignature = (signature) => signature) {
|
|
408
|
+
async function getTypedDataPackedSignature(config, signers, chain, validator, parameters, configuredOwners = config.owners, transformSignature = (signature) => signature) {
|
|
409
409
|
if (config.account?.type === 'eoa') {
|
|
410
410
|
throw new error_1.EoaSigningNotSupportedError('packed signatures');
|
|
411
411
|
}
|
|
412
412
|
const address = getAddress(config);
|
|
413
413
|
signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
|
|
414
|
-
const signFn = (parameters) => (0, typedData_1.sign)(signers, chain, address, parameters);
|
|
414
|
+
const signFn = (parameters) => (0, typedData_1.sign)(signers, configuredOwners, chain, address, parameters);
|
|
415
415
|
const account = getAccountProvider(config);
|
|
416
416
|
switch (account.type) {
|
|
417
417
|
case 'safe': {
|
|
@@ -429,7 +429,7 @@ async function getTypedDataPackedSignature(config, signers, chain, validator, pa
|
|
|
429
429
|
}
|
|
430
430
|
case 'kernel': {
|
|
431
431
|
const address = getAddress(config);
|
|
432
|
-
const signMessageFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, false);
|
|
432
|
+
const signMessageFn = (hash) => (0, message_1.sign)(signers, configuredOwners, chain, address, hash, false);
|
|
433
433
|
const signature = await signMessageFn((0, kernel_1.wrapMessageHash)((0, viem_1.hashTypedData)(parameters), address));
|
|
434
434
|
return (0, kernel_1.packSignature)(signature, validator, transformSignature);
|
|
435
435
|
}
|
|
@@ -653,7 +653,7 @@ async function getSmartAccount(config, client, chain) {
|
|
|
653
653
|
const address = getAddress(config);
|
|
654
654
|
const ownerValidator = (0, validators_1.getOwnerValidator)(config);
|
|
655
655
|
const signers = (0, common_1.convertOwnerSetToSignerSet)(config.owners);
|
|
656
|
-
const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, true);
|
|
656
|
+
const signFn = (hash) => (0, message_1.sign)(signers, config.owners, chain, address, hash, true);
|
|
657
657
|
switch (account.type) {
|
|
658
658
|
case 'safe': {
|
|
659
659
|
return (0, safe_1.getSmartAccount)(client, address, config.owners, ownerValidator.address, signFn);
|
|
@@ -684,7 +684,7 @@ async function getGuardianSmartAccount(config, client, chain, guardians) {
|
|
|
684
684
|
type: 'guardians',
|
|
685
685
|
guardians: accounts,
|
|
686
686
|
};
|
|
687
|
-
const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, true);
|
|
687
|
+
const signFn = (hash) => (0, message_1.sign)(signers, guardians, chain, address, hash, true);
|
|
688
688
|
const account = getAccountProvider(config);
|
|
689
689
|
switch (account.type) {
|
|
690
690
|
case 'safe': {
|
|
@@ -20,13 +20,15 @@ type SigningFunctions<T> = {
|
|
|
20
20
|
declare function signWithMultiFactorAuth<T>(signers: SignerSet & {
|
|
21
21
|
type: 'owner';
|
|
22
22
|
kind: 'multi-factor';
|
|
23
|
-
},
|
|
24
|
-
|
|
23
|
+
}, configuredOwners: OwnerSet & {
|
|
24
|
+
type: 'multi-factor';
|
|
25
|
+
}, chain: Chain, address: Address, params: T, isUserOpHash: boolean, signMain: (signers: SignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, params: T, isUserOpHash: boolean, statelessPasskey?: boolean) => Promise<Hex>): Promise<Hex>;
|
|
26
|
+
declare function signWithSession(signers: ResolvedSessionSignerSet, chain: Chain, address: Address, hash: Hex, signMain: (signers: SignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, hash: Hex, isUserOpHash: boolean) => Promise<Hex>): Promise<Hex>;
|
|
25
27
|
declare function signWithGuardians<T>(signers: SignerSet & {
|
|
26
28
|
type: 'guardians';
|
|
27
29
|
}, params: T, signingFunctions: SigningFunctions<T>): Promise<Hex>;
|
|
28
30
|
declare function signWithOwners<T>(signers: SignerSet & {
|
|
29
31
|
type: 'owner';
|
|
30
|
-
}, chain: Chain, address: Address, params: T, signingFunctions: SigningFunctions<T>, isUserOpHash: boolean, signMain: (signers: SignerSet, chain: Chain, address: Address, params: T, isUserOpHash: boolean) => Promise<Hex
|
|
32
|
+
}, configuredOwners: OwnerSet, chain: Chain, address: Address, params: T, signingFunctions: SigningFunctions<T>, isUserOpHash: boolean, signMain: (signers: SignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, params: T, isUserOpHash: boolean, statelessPasskey?: boolean) => Promise<Hex>, statelessPasskey?: boolean): Promise<Hex>;
|
|
31
33
|
export { convertOwnerSetToSignerSet, signWithMultiFactorAuth, signWithSession, signWithGuardians, signWithOwners, type SigningFunctions, };
|
|
32
34
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EAMV,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAQ/D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,15 +76,36 @@ function convertOwnerSetToSignerSet(owners) {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
-
async function signWithMultiFactorAuth(signers, chain, address, params, isUserOpHash, signMain) {
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
async function signWithMultiFactorAuth(signers, configuredOwners, chain, address, params, isUserOpHash, signMain) {
|
|
80
|
+
const configuredValidators = signers.validators.map((validator) => {
|
|
81
|
+
const configuredValidator = configuredOwners.validators[Number(BigInt(validator.id))];
|
|
82
|
+
if (!configuredValidator) {
|
|
83
|
+
throw new Error(`Unknown multi-factor validator ID ${validator.id}`);
|
|
83
84
|
}
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
if (validator.type !== configuredValidator.type &&
|
|
86
|
+
!(validator.type === 'ecdsa' && configuredValidator.type === 'ens')) {
|
|
87
|
+
throw new Error(`Multi-factor validator ID ${validator.id} has wrong type`);
|
|
88
|
+
}
|
|
89
|
+
return configuredValidator;
|
|
90
|
+
});
|
|
91
|
+
const signatures = await Promise.all(signers.validators.map((validator, index) => {
|
|
92
|
+
const configuredValidator = configuredValidators[index];
|
|
93
|
+
const validatorSigners = validator.type === 'passkey'
|
|
94
|
+
? {
|
|
95
|
+
type: 'owner',
|
|
96
|
+
kind: 'passkey',
|
|
97
|
+
accounts: validator.accounts,
|
|
98
|
+
module: (0, core_1.getValidator)(configuredValidator).address,
|
|
99
|
+
}
|
|
100
|
+
: {
|
|
101
|
+
type: 'owner',
|
|
102
|
+
kind: 'ecdsa',
|
|
103
|
+
accounts: validator.accounts,
|
|
104
|
+
module: (0, core_1.getValidator)(configuredValidator).address,
|
|
105
|
+
};
|
|
106
|
+
return signMain(validatorSigners, configuredValidator, chain, address, params, isUserOpHash, configuredValidator.type === 'passkey');
|
|
86
107
|
}));
|
|
87
|
-
|
|
108
|
+
return (0, viem_1.encodeAbiParameters)([
|
|
88
109
|
{
|
|
89
110
|
components: [
|
|
90
111
|
{
|
|
@@ -98,20 +119,14 @@ async function signWithMultiFactorAuth(signers, chain, address, params, isUserOp
|
|
|
98
119
|
type: 'tuple[]',
|
|
99
120
|
},
|
|
100
121
|
], [
|
|
101
|
-
signers.validators.map((validator, index) => {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
validatorModule.address,
|
|
109
|
-
]),
|
|
110
|
-
data: signatures[index],
|
|
111
|
-
};
|
|
112
|
-
}),
|
|
122
|
+
signers.validators.map((validator, index) => ({
|
|
123
|
+
packedValidatorAndId: (0, viem_1.concat)([
|
|
124
|
+
(0, viem_1.pad)((0, viem_1.toHex)(validator.id), { size: 12 }),
|
|
125
|
+
(0, core_1.getValidator)(configuredValidators[index]).address,
|
|
126
|
+
]),
|
|
127
|
+
data: signatures[index],
|
|
128
|
+
})),
|
|
113
129
|
]);
|
|
114
|
-
return data;
|
|
115
130
|
}
|
|
116
131
|
async function signWithSession(signers, chain, address, hash, signMain) {
|
|
117
132
|
const sessionSigners = convertOwnerSetToSignerSet(signers.session.owners);
|
|
@@ -120,14 +135,14 @@ async function signWithSession(signers, chain, address, hash, signMain) {
|
|
|
120
135
|
: (0, viem_1.hashMessage)({
|
|
121
136
|
raw: (0, viem_1.encodePacked)(['bytes32', 'bytes32'], [(0, viem_1.padHex)(address), hash]),
|
|
122
137
|
});
|
|
123
|
-
const validatorSignature = await signMain(sessionSigners, chain, address, signedHash, false);
|
|
138
|
+
const validatorSignature = await signMain(sessionSigners, signers.session.owners, chain, address, signedHash, false);
|
|
124
139
|
return (0, smart_sessions_1.packSignature)(signers, validatorSignature);
|
|
125
140
|
}
|
|
126
141
|
async function signWithGuardians(signers, params, signingFunctions) {
|
|
127
142
|
const signatures = await Promise.all(signers.guardians.map((account) => signingFunctions.signEcdsa(account, params, false)));
|
|
128
143
|
return (0, viem_1.concat)(signatures);
|
|
129
144
|
}
|
|
130
|
-
async function signWithOwners(signers, chain, address, params, signingFunctions, isUserOpHash, signMain) {
|
|
145
|
+
async function signWithOwners(signers, configuredOwners, chain, address, params, signingFunctions, isUserOpHash, signMain, statelessPasskey = false) {
|
|
131
146
|
async function signEcdsWithChain(account, params, updateV, chain) {
|
|
132
147
|
const client = account.client;
|
|
133
148
|
const transport = client?.transport;
|
|
@@ -176,13 +191,22 @@ async function signWithOwners(signers, chain, address, params, signingFunctions,
|
|
|
176
191
|
s,
|
|
177
192
|
};
|
|
178
193
|
});
|
|
194
|
+
if (statelessPasskey) {
|
|
195
|
+
if (configuredOwners.type !== 'passkey') {
|
|
196
|
+
throw new Error('Passkey factor configuration is missing');
|
|
197
|
+
}
|
|
198
|
+
return (0, passkeys_1.packStatelessSignature)(signers.accounts, configuredOwners.accounts, webAuthns);
|
|
199
|
+
}
|
|
179
200
|
if (signers.module?.toLowerCase() === core_1.WEBAUTHN_V0_VALIDATOR_ADDRESS) {
|
|
180
201
|
return (0, passkeys_1.packSignatureV0)(webAuthns[0], usePrecompile);
|
|
181
202
|
}
|
|
182
203
|
return (0, passkeys_1.packSignature)(credIds, usePrecompile, webAuthns);
|
|
183
204
|
}
|
|
184
205
|
case 'multi-factor': {
|
|
185
|
-
|
|
206
|
+
if (configuredOwners.type !== 'multi-factor') {
|
|
207
|
+
throw new Error('Multi-factor owner configuration is missing');
|
|
208
|
+
}
|
|
209
|
+
return signWithMultiFactorAuth(signers, configuredOwners, chain, address, params, isUserOpHash, signMain);
|
|
186
210
|
}
|
|
187
211
|
default: {
|
|
188
212
|
throw new Error('Unsupported owner kind');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Address, type Chain, type Hex } from 'viem';
|
|
2
2
|
import type { ResolvedSessionSignerSet } from '../../modules/validators/smart-sessions';
|
|
3
|
-
import type { SignerSet } from '../../types';
|
|
3
|
+
import type { OwnerSet, SignerSet } from '../../types';
|
|
4
4
|
type InternalSignerSet = SignerSet | ResolvedSessionSignerSet;
|
|
5
|
-
declare function sign(signers: InternalSignerSet, chain: Chain, address: Address, hash: Hex, isUserOpHash: boolean): Promise<Hex>;
|
|
5
|
+
declare function sign(signers: InternalSignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, hash: Hex, isUserOpHash: boolean, statelessPasskey?: boolean): Promise<Hex>;
|
|
6
6
|
export { sign };
|
|
7
7
|
//# sourceMappingURL=message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAStD,KAAK,iBAAiB,GAAG,SAAS,GAAG,wBAAwB,CAAA;AAE7D,iBAAe,IAAI,CACjB,OAAO,EAAE,iBAAiB,EAC1B,gBAAgB,EAAE,QAAQ,EAC1B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,OAAO,EACrB,gBAAgB,UAAQ,GACvB,OAAO,CAAC,GAAG,CAAC,CAiCd;AA4BD,OAAO,EAAE,IAAI,EAAE,CAAA"}
|
|
@@ -4,14 +4,14 @@ exports.sign = sign;
|
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
5
|
const error_1 = require("../error");
|
|
6
6
|
const common_1 = require("./common");
|
|
7
|
-
async function sign(signers, chain, address, hash, isUserOpHash) {
|
|
7
|
+
async function sign(signers, configuredOwners, chain, address, hash, isUserOpHash, statelessPasskey = false) {
|
|
8
8
|
const signingFunctions = {
|
|
9
9
|
signEcdsa: (account, hash, updateV) => signEcdsa(account, hash, updateV),
|
|
10
10
|
signPasskey: (account, hash) => signPasskey(account, hash),
|
|
11
11
|
};
|
|
12
12
|
switch (signers.type) {
|
|
13
13
|
case 'owner': {
|
|
14
|
-
return (0, common_1.signWithOwners)(signers, chain, address, hash, signingFunctions, isUserOpHash, sign);
|
|
14
|
+
return (0, common_1.signWithOwners)(signers, configuredOwners, chain, address, hash, signingFunctions, isUserOpHash, sign, statelessPasskey);
|
|
15
15
|
}
|
|
16
16
|
case 'experimental_session': {
|
|
17
17
|
return (0, common_1.signWithSession)(signers, chain, address, hash, sign);
|
|
@@ -24,6 +24,11 @@ declare function packSignature(credIds: Hex[], usePrecompile: boolean, webAuthns
|
|
|
24
24
|
r: bigint;
|
|
25
25
|
s: bigint;
|
|
26
26
|
}[]): Hex;
|
|
27
|
+
declare function packStatelessSignature(accounts: readonly {
|
|
28
|
+
publicKey: Hex;
|
|
29
|
+
}[], configuredAccounts: readonly {
|
|
30
|
+
publicKey: Hex;
|
|
31
|
+
}[], webAuthns: WebAuthnSignature[]): Hex;
|
|
27
32
|
declare function packSignatureV0(webauthn: {
|
|
28
33
|
authenticatorData: Hex;
|
|
29
34
|
clientDataJSON: string;
|
|
@@ -31,6 +36,6 @@ declare function packSignatureV0(webauthn: {
|
|
|
31
36
|
r: bigint;
|
|
32
37
|
s: bigint;
|
|
33
38
|
}, usePrecompiled: boolean): `0x${string}`;
|
|
34
|
-
export { parsePublicKey, parseSignature, generateCredentialId, packSignature, packSignatureV0, };
|
|
39
|
+
export { parsePublicKey, parseSignature, generateCredentialId, packSignature, packStatelessSignature, packSignatureV0, };
|
|
35
40
|
export type { WebAuthnSignature };
|
|
36
41
|
//# sourceMappingURL=passkeys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passkeys.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/passkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"passkeys.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/passkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,GAAG,EAIT,MAAM,MAAM,CAAA;AAIb,UAAU,iBAAiB;IACzB,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,iBAAS,cAAc,CAAC,SAAS,EAAE,GAAG,GAAG,UAAU,GAAG;IACpD,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CAUA;AAED,iBAAS,cAAc,CAAC,SAAS,EAAE,GAAG,GAAG,UAAU,GAAG;IACpD,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CASA;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,iBAkBjB;AAED,iBAAS,aAAa,CACpB,OAAO,EAAE,GAAG,EAAE,EACd,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE;IACT,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,EAAE,GACF,GAAG,CAqDL;AAED,iBAAS,sBAAsB,CAC7B,QAAQ,EAAE,SAAS;IAAE,SAAS,EAAE,GAAG,CAAA;CAAE,EAAE,EACvC,kBAAkB,EAAE,SAAS;IAAE,SAAS,EAAE,GAAG,CAAA;CAAE,EAAE,EACjD,SAAS,EAAE,iBAAiB,EAAE,GAC7B,GAAG,CA0CL;AAED,iBAAS,eAAe,CACtB,QAAQ,EAAE;IACR,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,EACD,cAAc,EAAE,OAAO,iBAqCxB;AAED,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,eAAe,GAChB,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -4,6 +4,7 @@ exports.parsePublicKey = parsePublicKey;
|
|
|
4
4
|
exports.parseSignature = parseSignature;
|
|
5
5
|
exports.generateCredentialId = generateCredentialId;
|
|
6
6
|
exports.packSignature = packSignature;
|
|
7
|
+
exports.packStatelessSignature = packStatelessSignature;
|
|
7
8
|
exports.packSignatureV0 = packSignatureV0;
|
|
8
9
|
const viem_1 = require("viem");
|
|
9
10
|
const ordering_1 = require("../../modules/validators/ordering");
|
|
@@ -90,6 +91,39 @@ function packSignature(credIds, usePrecompile, webAuthns) {
|
|
|
90
91
|
},
|
|
91
92
|
], [credIds, usePrecompile, webAuthns]);
|
|
92
93
|
}
|
|
94
|
+
function packStatelessSignature(accounts, configuredAccounts, webAuthns) {
|
|
95
|
+
const credentialId = (account) => {
|
|
96
|
+
const { x, y } = parsePublicKey(account.publicKey);
|
|
97
|
+
return generateCredentialId(x, y, viem_1.zeroAddress);
|
|
98
|
+
};
|
|
99
|
+
const configuredIds = configuredAccounts
|
|
100
|
+
.map(credentialId)
|
|
101
|
+
.sort(ordering_1.compareHexValues);
|
|
102
|
+
const ordered = accounts
|
|
103
|
+
.map((account, index) => ({
|
|
104
|
+
credentialId: credentialId(account),
|
|
105
|
+
webAuthn: webAuthns[index],
|
|
106
|
+
}))
|
|
107
|
+
.sort((a, b) => (0, ordering_1.compareHexValues)(a.credentialId, b.credentialId));
|
|
108
|
+
const expectedIds = configuredIds.slice(0, ordered.length);
|
|
109
|
+
if (ordered.some(({ credentialId }, index) => credentialId !== expectedIds[index])) {
|
|
110
|
+
throw new Error('A passkey factor pairs each signature with the credential at the same position, so a partial signer set must be the lowest-ordered credentials of that factor');
|
|
111
|
+
}
|
|
112
|
+
return (0, viem_1.encodeAbiParameters)([
|
|
113
|
+
{
|
|
114
|
+
type: 'tuple[]',
|
|
115
|
+
name: 'webAuthns',
|
|
116
|
+
components: [
|
|
117
|
+
{ type: 'bytes', name: 'authenticatorData' },
|
|
118
|
+
{ type: 'string', name: 'clientDataJSON' },
|
|
119
|
+
{ type: 'uint256', name: 'challengeIndex' },
|
|
120
|
+
{ type: 'uint256', name: 'typeIndex' },
|
|
121
|
+
{ type: 'uint256', name: 'r' },
|
|
122
|
+
{ type: 'uint256', name: 's' },
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
], [ordered.map(({ webAuthn }) => webAuthn)]);
|
|
126
|
+
}
|
|
93
127
|
function packSignatureV0(webauthn, usePrecompiled) {
|
|
94
128
|
return (0, viem_1.encodeAbiParameters)([
|
|
95
129
|
{ type: 'bytes', name: 'authenticatorData' },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Address, Chain, HashTypedDataParameters, Hex, TypedData } from 'viem';
|
|
2
|
-
import type { SignerSet } from '../../types';
|
|
3
|
-
declare function sign<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(signers: SignerSet, chain: Chain, address: Address, parameters: HashTypedDataParameters<typedData, primaryType
|
|
2
|
+
import type { OwnerSet, SignerSet } from '../../types';
|
|
3
|
+
declare function sign<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(signers: SignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, parameters: HashTypedDataParameters<typedData, primaryType>, _isUserOpHash?: boolean, statelessPasskey?: boolean): Promise<Hex>;
|
|
4
4
|
export { sign };
|
|
5
5
|
//# sourceMappingURL=typedData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedData.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/typedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EACP,KAAK,EACL,uBAAuB,EACvB,GAAG,EACH,SAAS,EACV,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"typedData.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/typedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EACP,KAAK,EACL,uBAAuB,EACvB,GAAG,EACH,SAAS,EACV,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAQtD,iBAAe,IAAI,CACjB,SAAS,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjE,WAAW,SAAS,MAAM,SAAS,GAAG,cAAc,GAAG,MAAM,SAAS,EAEtE,OAAO,EAAE,SAAS,EAClB,gBAAgB,EAAE,QAAQ,EAC1B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAAC,EAC3D,aAAa,UAAQ,EACrB,gBAAgB,UAAQ,GACvB,OAAO,CAAC,GAAG,CAAC,CA6Bd;AA6BD,OAAO,EAAE,IAAI,EAAE,CAAA"}
|
|
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.sign = sign;
|
|
4
4
|
const error_1 = require("../error");
|
|
5
5
|
const common_1 = require("./common");
|
|
6
|
-
async function sign(signers, chain, address, parameters) {
|
|
6
|
+
async function sign(signers, configuredOwners, chain, address, parameters, _isUserOpHash = false, statelessPasskey = false) {
|
|
7
7
|
const signingFunctions = {
|
|
8
8
|
signEcdsa: (account, params) => signEcdsa(account, params),
|
|
9
9
|
signPasskey: (account, params) => signPasskey(account, params),
|
|
10
10
|
};
|
|
11
11
|
switch (signers.type) {
|
|
12
12
|
case 'owner': {
|
|
13
|
-
return (0, common_1.signWithOwners)(signers, chain, address, parameters, signingFunctions, false, sign);
|
|
13
|
+
return (0, common_1.signWithOwners)(signers, configuredOwners, chain, address, parameters, signingFunctions, false, sign, statelessPasskey);
|
|
14
14
|
}
|
|
15
15
|
case 'guardians': {
|
|
16
16
|
return (0, common_1.signWithGuardians)(signers, parameters, signingFunctions);
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type Hex } from 'viem';
|
|
2
|
-
import type { CalldataInput, LazyCallInput, OwnableValidatorConfig, WebauthnValidatorConfig } from '../types';
|
|
2
|
+
import type { CalldataInput, ENSValidatorConfig, LazyCallInput, OwnableValidatorConfig, WebauthnValidatorConfig } from '../types';
|
|
3
|
+
type MfaFactor = OwnableValidatorConfig | ENSValidatorConfig | WebauthnValidatorConfig;
|
|
3
4
|
/**
|
|
4
5
|
* Enable multi-factor authentication
|
|
5
6
|
* @param validators List of validators to use
|
|
6
7
|
* @param threshold Threshold for the validators
|
|
7
8
|
* @returns Calls to enable multi-factor authentication
|
|
8
9
|
*/
|
|
9
|
-
declare function enable(validators: (
|
|
10
|
+
declare function enable(validators: (MfaFactor | null)[], threshold?: number): LazyCallInput;
|
|
10
11
|
/**
|
|
11
12
|
* Change the multi-factor threshold
|
|
12
13
|
* @param newThreshold New threshold
|
|
@@ -25,13 +26,13 @@ declare function disable(): LazyCallInput;
|
|
|
25
26
|
* @param validator Validator module
|
|
26
27
|
* @returns Call to set the sub-validator
|
|
27
28
|
*/
|
|
28
|
-
declare function setSubValidator(id: Hex | number, validator:
|
|
29
|
+
declare function setSubValidator(id: Hex | number, validator: MfaFactor): CalldataInput;
|
|
29
30
|
/**
|
|
30
31
|
* Remove a sub-validator (multi-factor)
|
|
31
32
|
* @param id Validator ID
|
|
32
33
|
* @param validator Validator module
|
|
33
34
|
* @returns Call to remove the sub-validator
|
|
34
35
|
*/
|
|
35
|
-
declare function removeSubValidator(id: Hex | number, validator:
|
|
36
|
+
declare function removeSubValidator(id: Hex | number, validator: MfaFactor): CalldataInput;
|
|
36
37
|
export { enable, changeThreshold, disable, setSubValidator, removeSubValidator };
|
|
37
38
|
//# sourceMappingURL=mfa.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfa.d.ts","sourceRoot":"","sources":["../../../actions/mfa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,GAAG,EAAiB,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"mfa.d.ts","sourceRoot":"","sources":["../../../actions/mfa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,GAAG,EAAiB,MAAM,MAAM,CAAA;AAWlE,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,UAAU,CAAA;AAEjB,KAAK,SAAS,GACV,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,CAAA;AAE3B;;;;;GAKG;AACH,iBAAS,MAAM,CACb,UAAU,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,EAChC,SAAS,SAAI,GACZ,aAAa,CAOf;AAED;;;;GAIG;AACH,iBAAS,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAkB5D;AAED;;;;GAIG;AACH,iBAAS,OAAO,IAAI,aAAa,CAOhC;AAED;;;;;GAKG;AACH,iBAAS,eAAe,CACtB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,SAAS,GACnB,aAAa,CAmCf;AAED;;;;;GAKG;AACH,iBAAS,kBAAkB,CACzB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,SAAS,GACnB,aAAa,CA2Bf;AAED,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA"}
|
package/dist/src/actions/mfa.js
CHANGED
|
@@ -93,7 +93,11 @@ function setSubValidator(id, validator) {
|
|
|
93
93
|
},
|
|
94
94
|
],
|
|
95
95
|
functionName: 'setValidator',
|
|
96
|
-
args: [
|
|
96
|
+
args: [
|
|
97
|
+
validatorModule.address,
|
|
98
|
+
validatorId,
|
|
99
|
+
(0, core_1.getStatelessValidatorData)(validator),
|
|
100
|
+
],
|
|
97
101
|
}),
|
|
98
102
|
};
|
|
99
103
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Hex } from 'viem';
|
|
2
|
+
import { fynd, resolveZeroExSettler, rhinestoneSwap, toSession, zeroEx } from '../modules/validators/smart-sessions';
|
|
2
3
|
import type { LazyCallInput, SessionInput } from '../types';
|
|
3
4
|
/**
|
|
4
5
|
* Enable smart sessions
|
|
@@ -19,5 +20,5 @@ declare function experimental_enableSession(session: SessionInput, enableSession
|
|
|
19
20
|
chainId: bigint;
|
|
20
21
|
sessionDigest: Hex;
|
|
21
22
|
}[], sessionToEnableIndex: number): LazyCallInput;
|
|
22
|
-
export { experimental_disable, experimental_enable, experimental_enableSession };
|
|
23
|
+
export { experimental_disable, experimental_enable, experimental_enableSession, fynd, resolveZeroExSettler, rhinestoneSwap, toSession, zeroEx, };
|
|
23
24
|
//# sourceMappingURL=smart-sessions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../actions/smart-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../actions/smart-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAK/B,OAAO,EACL,IAAI,EAGJ,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,MAAM,EACP,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE3D;;;GAGG;AACH,iBAAS,mBAAmB,IAAI,aAAa,CAU5C;AAED;;;GAGG;AACH,iBAAS,oBAAoB,IAAI,aAAa,CAU7C;AAED;;;;GAIG;AACH,iBAAS,0BAA0B,CACjC,OAAO,EAAE,YAAY,EACrB,sBAAsB,EAAE,GAAG,EAC3B,iBAAiB,EAAE;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;CACnB,EAAE,EACH,oBAAoB,EAAE,MAAM,GAC3B,aAAa,CAgBf;AAED,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,IAAI,EACJ,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,MAAM,GACP,CAAA"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.zeroEx = exports.toSession = exports.rhinestoneSwap = exports.resolveZeroExSettler = exports.fynd = void 0;
|
|
3
4
|
exports.experimental_disable = experimental_disable;
|
|
4
5
|
exports.experimental_enable = experimental_enable;
|
|
5
6
|
exports.experimental_enableSession = experimental_enableSession;
|
|
6
7
|
const accounts_1 = require("../accounts");
|
|
7
8
|
const smart_sessions_1 = require("../modules/validators/smart-sessions");
|
|
9
|
+
Object.defineProperty(exports, "fynd", { enumerable: true, get: function () { return smart_sessions_1.fynd; } });
|
|
10
|
+
Object.defineProperty(exports, "resolveZeroExSettler", { enumerable: true, get: function () { return smart_sessions_1.resolveZeroExSettler; } });
|
|
11
|
+
Object.defineProperty(exports, "rhinestoneSwap", { enumerable: true, get: function () { return smart_sessions_1.rhinestoneSwap; } });
|
|
12
|
+
Object.defineProperty(exports, "toSession", { enumerable: true, get: function () { return smart_sessions_1.toSession; } });
|
|
13
|
+
Object.defineProperty(exports, "zeroEx", { enumerable: true, get: function () { return smart_sessions_1.zeroEx; } });
|
|
8
14
|
/**
|
|
9
15
|
* Enable smart sessions
|
|
10
16
|
* @returns Calls to enable smart sessions
|
|
@@ -2,7 +2,7 @@ import { type Address, type Chain, type Hex } from 'viem';
|
|
|
2
2
|
import type { UserOperationReceipt } from 'viem/_types/account-abstraction';
|
|
3
3
|
import { type AuthProvider } from '../auth/provider';
|
|
4
4
|
import { type IntentOpStatus, type SplitIntentsInput } from '../orchestrator';
|
|
5
|
-
import type { AppFeeRate, ProtocolFeeRate, SettlementLayer } from '../orchestrator/types';
|
|
5
|
+
import type { AppFeeRate, ProtocolFeeRate, SettlementLayer, SwapQuoterFilter } from '../orchestrator/types';
|
|
6
6
|
import type { CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, Transaction, UserOperationTransaction } from '../types';
|
|
7
7
|
import { ExecutionError, IntentFailedError, IntentStatusTimeoutError, InvalidSourceCallsError, isExecutionError, OrderPathRequiredForIntentsError, SessionChainRequiredError, SignerNotSupportedError } from './error';
|
|
8
8
|
import type { TransactionResult, UserOperationResult } from './utils';
|
|
@@ -28,6 +28,7 @@ declare function sendTransactionInternal(config: RhinestoneConfig, sourceChains:
|
|
|
28
28
|
sponsored?: Sponsorship;
|
|
29
29
|
eip7702InitSignature?: Hex;
|
|
30
30
|
settlementLayers?: SettlementLayer[];
|
|
31
|
+
quoters?: SwapQuoterFilter;
|
|
31
32
|
sourceAssets?: SourceAssetInput;
|
|
32
33
|
lockFunds?: boolean;
|
|
33
34
|
feeAsset?: Address | TokenSymbol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAG3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAML,KAAK,cAAc,EAGnB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ const POLL_ERROR_BACKOFF_MAX_MS = 10000;
|
|
|
35
35
|
async function sendTransaction(config, transaction) {
|
|
36
36
|
const sourceChains = 'chain' in transaction ? [transaction.chain] : transaction.sourceChains;
|
|
37
37
|
const targetChain = 'chain' in transaction ? transaction.chain : transaction.targetChain;
|
|
38
|
-
const { calls, sourceCalls, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, appFees, customDeadline, protocolFees, } = transaction;
|
|
38
|
+
const { calls, sourceCalls, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, quoters, sourceAssets, feeAsset, appFees, customDeadline, protocolFees, } = transaction;
|
|
39
39
|
const isUserOpSigner = signers?.type === 'guardians';
|
|
40
40
|
if (isUserOpSigner) {
|
|
41
41
|
throw new error_1.SignerNotSupportedError();
|
|
@@ -50,6 +50,7 @@ async function sendTransaction(config, transaction) {
|
|
|
50
50
|
sponsored,
|
|
51
51
|
eip7702InitSignature,
|
|
52
52
|
settlementLayers,
|
|
53
|
+
quoters,
|
|
53
54
|
sourceAssets,
|
|
54
55
|
feeAsset,
|
|
55
56
|
appFees,
|
|
@@ -71,7 +72,7 @@ async function sendTransactionInternal(config, sourceChains, targetChain, option
|
|
|
71
72
|
throw new error_1.SignerNotSupportedError();
|
|
72
73
|
}
|
|
73
74
|
else {
|
|
74
|
-
return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests, options.recipient, options.signers, options.sponsored, options.eip7702InitSignature, options.settlementLayers, options.sourceAssets, options.feeAsset, options.lockFunds, options.sourceCalls, options.appFees, options.customDeadline, options.protocolFees);
|
|
75
|
+
return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests, options.recipient, options.signers, options.sponsored, options.eip7702InitSignature, options.settlementLayers, options.sourceAssets, options.feeAsset, options.lockFunds, options.sourceCalls, options.appFees, options.customDeadline, options.protocolFees, options.quoters);
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
async function sendUserOperationInternal(config, chain, callInputs, signers) {
|
|
@@ -97,8 +98,8 @@ async function sendUserOperationInternal(config, chain, callInputs, signers) {
|
|
|
97
98
|
chain: chain.id,
|
|
98
99
|
};
|
|
99
100
|
}
|
|
100
|
-
async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, sourceCalls, appFees, customDeadline, protocolFees) {
|
|
101
|
-
const prepared = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, undefined, undefined, signers, sourceCalls, appFees, customDeadline, protocolFees);
|
|
101
|
+
async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, sourceCalls, appFees, customDeadline, protocolFees, quoters) {
|
|
102
|
+
const prepared = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, undefined, undefined, signers, sourceCalls, appFees, customDeadline, protocolFees, quoters);
|
|
102
103
|
if (!prepared) {
|
|
103
104
|
throw new error_1.OrderPathRequiredForIntentsError();
|
|
104
105
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SwapQuoter, SwapQuoterFilter } from '../orchestrator/types';
|
|
2
|
+
import type { Session, SignerSet } from '../types';
|
|
3
|
+
declare function venuesForSession(session: Session | undefined): Set<SwapQuoter> | null;
|
|
4
|
+
declare function quoterPinFromSession(signers: SignerSet | undefined, chainIds: readonly number[]): SwapQuoterFilter | undefined;
|
|
5
|
+
declare function narrowQuoterPin(derived: SwapQuoterFilter | undefined, explicit: SwapQuoterFilter | undefined): SwapQuoterFilter | undefined;
|
|
6
|
+
export { narrowQuoterPin, quoterPinFromSession, venuesForSession };
|
|
7
|
+
//# sourceMappingURL=quoters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quoters.d.ts","sourceRoot":"","sources":["../../../execution/quoters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAElD,iBAAS,gBAAgB,CACvB,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAYxB;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,gBAAgB,GAAG,SAAS,CAuB9B;AAED,iBAAS,eAAe,CACtB,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GACrC,gBAAgB,GAAG,SAAS,CAU9B;AAED,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAA"}
|