@rhinestone/sdk 1.0.0-alpha.15 → 1.0.0-alpha.17
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/custom.d.ts +18 -0
- package/dist/src/accounts/custom.d.ts.map +1 -0
- package/dist/src/accounts/custom.js +121 -0
- package/dist/src/accounts/custom.test.d.ts +2 -0
- package/dist/src/accounts/custom.test.d.ts.map +1 -0
- package/dist/src/accounts/custom.test.js +64 -0
- 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 +30 -0
- package/dist/src/accounts/json-rpc/index.d.ts +5 -0
- package/dist/src/accounts/json-rpc/index.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/index.js +16 -0
- package/dist/src/accounts/json-rpc/index.test.d.ts +2 -0
- package/dist/src/accounts/json-rpc/index.test.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/index.test.js +16 -0
- package/dist/src/accounts/json-rpc/providers.d.ts +4 -0
- package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/providers.js +14 -0
- package/dist/src/accounts/json-rpc/providers.test.d.ts +2 -0
- package/dist/src/accounts/json-rpc/providers.test.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/providers.test.js +15 -0
- package/dist/src/accounts/safe.d.ts.map +1 -1
- package/dist/src/accounts/safe.js +2 -0
- package/dist/src/accounts/signing/common.d.ts.map +1 -1
- package/dist/src/accounts/signing/common.js +12 -3
- package/dist/src/accounts/utils.d.ts +3 -3
- package/dist/src/accounts/utils.d.ts.map +1 -1
- package/dist/src/accounts/utils.js +3 -40
- package/dist/src/actions/index.d.ts +1 -1
- package/dist/src/actions/index.d.ts.map +1 -1
- package/dist/src/actions/index.js +6 -3
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +0 -3
- package/dist/src/execution/utils.d.ts +3 -1
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +36 -7
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +11 -0
- package/dist/src/modules/read.d.ts.map +1 -1
- package/dist/src/modules/read.js +1 -0
- package/dist/src/modules/validators/core.d.ts +3 -2
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/core.js +9 -4
- package/dist/src/orchestrator/client.d.ts +1 -0
- package/dist/src/orchestrator/client.d.ts.map +1 -1
- package/dist/src/orchestrator/client.js +16 -0
- package/dist/src/orchestrator/registry.d.ts +1 -23
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +22 -24
- package/dist/src/orchestrator/registry.test.js +4 -4
- package/dist/src/orchestrator/types.d.ts +1 -6
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +20 -4
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/src/orchestrator/registry.json +0 -365
|
@@ -52,6 +52,9 @@ async function recover(address, newOwners, chain, provider) {
|
|
|
52
52
|
case 'ecdsa': {
|
|
53
53
|
return recoverEcdsaOwnership(address, newOwners, chain, provider);
|
|
54
54
|
}
|
|
55
|
+
case 'ecdsa-v0': {
|
|
56
|
+
return recoverEcdsaOwnership(address, newOwners, chain, provider, core_1.OWNABLE_V0_VALIDATOR_ADDRESS);
|
|
57
|
+
}
|
|
55
58
|
case 'passkey': {
|
|
56
59
|
throw new Error('Passkey ownership recovery is not yet supported');
|
|
57
60
|
}
|
|
@@ -283,7 +286,7 @@ function changePasskeyThreshold(newThreshold) {
|
|
|
283
286
|
* @param provider Provider to use for the recovery
|
|
284
287
|
* @returns Calls to recover ownership
|
|
285
288
|
*/
|
|
286
|
-
async function recoverEcdsaOwnership(address, newOwners, chain, provider) {
|
|
289
|
+
async function recoverEcdsaOwnership(address, newOwners, chain, provider, validatorAddress) {
|
|
287
290
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
288
291
|
chain,
|
|
289
292
|
transport: (0, utils_1.createTransport)(chain, provider),
|
|
@@ -292,7 +295,7 @@ async function recoverEcdsaOwnership(address, newOwners, chain, provider) {
|
|
|
292
295
|
const results = await publicClient.multicall({
|
|
293
296
|
contracts: [
|
|
294
297
|
{
|
|
295
|
-
address: core_1.OWNABLE_VALIDATOR_ADDRESS,
|
|
298
|
+
address: validatorAddress ?? core_1.OWNABLE_VALIDATOR_ADDRESS,
|
|
296
299
|
abi: [
|
|
297
300
|
{
|
|
298
301
|
inputs: [
|
|
@@ -314,7 +317,7 @@ async function recoverEcdsaOwnership(address, newOwners, chain, provider) {
|
|
|
314
317
|
args: [address],
|
|
315
318
|
},
|
|
316
319
|
{
|
|
317
|
-
address: core_1.OWNABLE_VALIDATOR_ADDRESS,
|
|
320
|
+
address: validatorAddress ?? core_1.OWNABLE_VALIDATOR_ADDRESS,
|
|
318
321
|
abi: [
|
|
319
322
|
{
|
|
320
323
|
inputs: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAmC,MAAM,MAAM,CAAA;AAKhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAQrD,OAAO,KAAK,EAEV,uBAAuB,EAGvB,WAAW,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EAChC,yBAAyB,EACzB,0CAA0C,EAC1C,0CAA0C,EAC3C,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAa5D,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,WAAW,8BA2BzB;AAyID,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,iBAAiB,EACzB,uBAAuB,EAAE,OAAO;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAmC,MAAM,MAAM,CAAA;AAKhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAQrD,OAAO,KAAK,EAEV,uBAAuB,EAGvB,WAAW,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EAChC,yBAAyB,EACzB,0CAA0C,EAC1C,0CAA0C,EAC3C,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAa5D,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,WAAW,8BA2BzB;AAyID,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,iBAAiB,EACzB,uBAAuB,EAAE,OAAO;;;;;;;;;;;;GAyCjC;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,CAajB;AAED,iBAAe,YAAY,CACzB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,OAAO,gDAUpB;AAED,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EAEZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,0CAA0C,EAC1C,0CAA0C,EAC1C,gCAAgC,EAChC,yBAAyB,GAC1B,CAAA;AACD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -121,9 +121,6 @@ async function waitForExecution(config, result, acceptsPreconfirmations) {
|
|
|
121
121
|
}
|
|
122
122
|
case 'userop': {
|
|
123
123
|
const targetChain = (0, registry_1.getChainById)(result.chain);
|
|
124
|
-
if (!targetChain) {
|
|
125
|
-
throw new Error(`Unsupported chain ID: ${result.chain}`);
|
|
126
|
-
}
|
|
127
124
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
128
125
|
chain: targetChain,
|
|
129
126
|
transport: (0, utils_1.createTransport)(targetChain, config.provider),
|
|
@@ -35,12 +35,14 @@ declare function signMessage(config: RhinestoneAccountConfig, message: SignableM
|
|
|
35
35
|
declare function signTypedData<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(config: RhinestoneAccountConfig, parameters: HashTypedDataParameters<typedData, primaryType>, chain: Chain, signers: SignerSet | undefined): Promise<`0x${string}`>;
|
|
36
36
|
declare function signAuthorizationsInternal(config: RhinestoneAccountConfig, data: IntentData | UserOpData): Promise<SignedAuthorization[]>;
|
|
37
37
|
declare function submitTransaction(config: RhinestoneAccountConfig, signedTransaction: SignedTransactionData, authorizations: SignedAuthorizationList): Promise<TransactionResult>;
|
|
38
|
+
declare function simulateTransaction(config: RhinestoneAccountConfig, signedTransaction: SignedTransactionData, authorizations: SignedAuthorizationList): Promise<import("../orchestrator").IntentResult>;
|
|
38
39
|
declare function prepareTransactionAsIntent(config: RhinestoneAccountConfig, sourceChains: Chain[] | undefined, targetChain: Chain, callInputs: CallInput[], gasLimit: bigint | undefined, tokenRequests: TokenRequest[], accountAddress: Address, isSponsored: boolean, eip7702InitSignature?: Hex): Promise<IntentData>;
|
|
39
40
|
declare function signIntent(config: RhinestoneAccountConfig, targetChain: Chain, intentOp: IntentOp, signers?: SignerSet): Promise<`0x${string}`>;
|
|
40
41
|
declare function getOrchestratorByChain(chainId: number, apiKey: string | undefined, useDev: boolean | undefined): import("../orchestrator").Orchestrator;
|
|
41
42
|
declare function submitIntentInternal(config: RhinestoneAccountConfig, sourceChains: Chain[] | undefined, targetChain: Chain, intentOp: IntentOp, signature: Hex, authorizations: SignedAuthorizationList): Promise<TransactionResult>;
|
|
43
|
+
declare function simulateIntentInternal(config: RhinestoneAccountConfig, _sourceChains: Chain[] | undefined, targetChain: Chain, intentOp: IntentOp, signature: Hex, authorizations: SignedAuthorizationList): Promise<import("../orchestrator").IntentResult>;
|
|
42
44
|
declare function getValidatorAccount(config: RhinestoneAccountConfig, signers: SignerSet | undefined, publicClient: PublicClient, chain: Chain): Promise<import("viem/account-abstraction").SmartAccount<import("viem/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">> | null | undefined>;
|
|
43
45
|
declare function parseCalls(calls: CallInput[], chainId: number): Call[];
|
|
44
|
-
export { prepareTransaction, signTransaction, signAuthorizations, signAuthorizationsInternal, signMessage, signTypedData, submitTransaction, getOrchestratorByChain, signIntent, prepareTransactionAsIntent, submitIntentInternal, getValidatorAccount, parseCalls, };
|
|
46
|
+
export { prepareTransaction, signTransaction, signAuthorizations, signAuthorizationsInternal, signMessage, signTypedData, submitTransaction, simulateTransaction, getOrchestratorByChain, signIntent, prepareTransactionAsIntent, submitIntentInternal, simulateIntentInternal, getValidatorAccount, parseCalls, };
|
|
45
47
|
export type { IntentData, TransactionResult, PreparedTransactionData, SignedTransactionData, };
|
|
46
48
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,uBAAuB,EAC5B,KAAK,GAAG,EAER,KAAK,YAAY,EAEjB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EAGf,MAAM,MAAM,CAAA;AACb,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAA;AAuBjC,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EAGjB,MAAM,iBAAiB,CAAA;AAWxB,OAAO,KAAK,EACV,IAAI,EACJ,SAAS,EACT,uBAAuB,EACvB,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,UAAU,CAAA;AAQjB,KAAK,iBAAiB,GAClB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;CACd,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAEL,UAAU,UAAU;IAClB,IAAI,EAAE,QAAQ,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,aAAa,CAAA;CACtB;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;IAC7B,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,UAAU,qBAAsB,SAAQ,uBAAuB;IAC7D,SAAS,EAAE,GAAG,CAAA;CACf;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,uBAAuB,EAC5B,KAAK,GAAG,EAER,KAAK,YAAY,EAEjB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EAGf,MAAM,MAAM,CAAA;AACb,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAA;AAuBjC,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EAGjB,MAAM,iBAAiB,CAAA;AAWxB,OAAO,KAAK,EACV,IAAI,EACJ,SAAS,EACT,uBAAuB,EACvB,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,UAAU,CAAA;AAQjB,KAAK,iBAAiB,GAClB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;CACd,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAEL,UAAU,UAAU;IAClB,IAAI,EAAE,QAAQ,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,aAAa,CAAA;CACtB;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;IAC7B,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,UAAU,qBAAsB,SAAQ,uBAAuB;IAC7D,SAAS,EAAE,GAAG,CAAA;CACf;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,uBAAuB,CAAC,CA4ClC;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,mBAAmB,EAAE,uBAAuB,GAC3C,OAAO,CAAC,qBAAqB,CAAC,CA8BhC;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,mBAAmB,EAAE,uBAAuB,kCAG7C;AAED,iBAAe,WAAW,CACxB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,GAAG,SAAS,0BAqB/B;AAED,iBAAe,aAAa,CAC1B,SAAS,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjE,WAAW,SAAS,MAAM,SAAS,GAAG,cAAc,GAAG,MAAM,SAAS,EAEtE,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAAC,EAC3D,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,GAAG,SAAS,0BAoB/B;AAED,iBAAe,0BAA0B,CACvC,MAAM,EAAE,uBAAuB,EAC/B,IAAI,EAAE,UAAU,GAAG,UAAU,kCAoC9B;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,iBAAiB,EAAE,qBAAqB,EACxC,cAAc,EAAE,uBAAuB,GACtC,OAAO,CAAC,iBAAiB,CAAC,CA4B5B;AAED,iBAAe,mBAAmB,CAChC,MAAM,EAAE,uBAAuB,EAC/B,iBAAiB,EAAE,qBAAqB,EACxC,cAAc,EAAE,uBAAuB,mDAuBxC;AA0ED,iBAAe,0BAA0B,CACvC,MAAM,EAAE,uBAAuB,EAC/B,YAAY,EAAE,KAAK,EAAE,GAAG,SAAS,EACjC,WAAW,EAAE,KAAK,EAClB,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,aAAa,EAAE,YAAY,EAAE,EAC7B,cAAc,EAAE,OAAO,EACvB,WAAW,EAAE,OAAO,EACpB,oBAAoB,CAAC,EAAE,GAAG,uBAoD3B;AAED,iBAAe,UAAU,CACvB,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,SAAS,0BAqBpB;AA6FD,iBAAS,sBAAsB,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,OAAO,GAAG,SAAS,0CAS5B;AA2CD,iBAAe,oBAAoB,CACjC,MAAM,EAAE,uBAAuB,EAC/B,YAAY,EAAE,KAAK,EAAE,GAAG,SAAS,EACjC,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,EACd,cAAc,EAAE,uBAAuB,8BAmBxC;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,uBAAuB,EAC/B,aAAa,EAAE,KAAK,EAAE,GAAG,SAAS,EAClC,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,EACd,cAAc,EAAE,uBAAuB,mDAcxC;AAED,iBAAe,mBAAmB,CAChC,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,yKA6Bb;AAmDD,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,CAM/D;AAmDD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,GACX,CAAA;AACD,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,GACtB,CAAA"}
|
|
@@ -7,10 +7,12 @@ exports.signAuthorizationsInternal = signAuthorizationsInternal;
|
|
|
7
7
|
exports.signMessage = signMessage;
|
|
8
8
|
exports.signTypedData = signTypedData;
|
|
9
9
|
exports.submitTransaction = submitTransaction;
|
|
10
|
+
exports.simulateTransaction = simulateTransaction;
|
|
10
11
|
exports.getOrchestratorByChain = getOrchestratorByChain;
|
|
11
12
|
exports.signIntent = signIntent;
|
|
12
13
|
exports.prepareTransactionAsIntent = prepareTransactionAsIntent;
|
|
13
14
|
exports.submitIntentInternal = submitIntentInternal;
|
|
15
|
+
exports.simulateIntentInternal = simulateIntentInternal;
|
|
14
16
|
exports.getValidatorAccount = getValidatorAccount;
|
|
15
17
|
exports.parseCalls = parseCalls;
|
|
16
18
|
const viem_1 = require("viem");
|
|
@@ -34,7 +36,7 @@ async function prepareTransaction(config, transaction) {
|
|
|
34
36
|
throw new error_1.SourceChainsNotAvailableForUserOpFlowError();
|
|
35
37
|
}
|
|
36
38
|
// Smart sessions require a UserOp flow
|
|
37
|
-
data = await prepareTransactionAsUserOp(config, targetChain, transaction.calls, signers);
|
|
39
|
+
data = await prepareTransactionAsUserOp(config, targetChain, transaction.calls, signers, transaction.gasLimit);
|
|
38
40
|
}
|
|
39
41
|
else {
|
|
40
42
|
data = await prepareTransactionAsIntent(config, sourceChains, targetChain, transaction.calls, transaction.gasLimit, tokenRequests, accountAddress, sponsored ?? false, eip7702InitSignature);
|
|
@@ -111,9 +113,6 @@ async function signAuthorizationsInternal(config, data) {
|
|
|
111
113
|
for (const chainId in requiredDelegations) {
|
|
112
114
|
const delegation = requiredDelegations[chainId];
|
|
113
115
|
const chain = (0, registry_1.getChainById)(Number(chainId));
|
|
114
|
-
if (!chain) {
|
|
115
|
-
throw new Error(`Chain not supported: ${chainId}`);
|
|
116
|
-
}
|
|
117
116
|
const walletClient = (0, viem_1.createWalletClient)({
|
|
118
117
|
chain,
|
|
119
118
|
account: eoa,
|
|
@@ -155,6 +154,21 @@ async function submitTransaction(config, signedTransaction, authorizations) {
|
|
|
155
154
|
return await submitIntent(config, sourceChains, targetChain, intentOp, signature, authorizations);
|
|
156
155
|
}
|
|
157
156
|
}
|
|
157
|
+
async function simulateTransaction(config, signedTransaction, authorizations) {
|
|
158
|
+
const { data, transaction, signature } = signedTransaction;
|
|
159
|
+
const { sourceChains, targetChain } = getTransactionParams(transaction);
|
|
160
|
+
const asUserOp = data.type === 'userop';
|
|
161
|
+
if (asUserOp) {
|
|
162
|
+
throw new Error('Simulation not supported for UserOp transactions');
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
const intentOp = data.intentRoute.intentOp;
|
|
166
|
+
if (!intentOp) {
|
|
167
|
+
throw new error_1.OrderPathRequiredForIntentsError();
|
|
168
|
+
}
|
|
169
|
+
return await simulateIntent(config, sourceChains, targetChain, intentOp, signature, authorizations);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
158
172
|
function getTransactionParams(transaction) {
|
|
159
173
|
const sourceChains = 'chain' in transaction ? [transaction.chain] : transaction.sourceChains;
|
|
160
174
|
const targetChain = 'chain' in transaction ? transaction.chain : transaction.targetChain;
|
|
@@ -162,6 +176,7 @@ function getTransactionParams(transaction) {
|
|
|
162
176
|
const signers = transaction.signers;
|
|
163
177
|
const eip7702InitSignature = transaction.eip7702InitSignature;
|
|
164
178
|
const sponsored = transaction.sponsored;
|
|
179
|
+
const gasLimit = transaction.gasLimit;
|
|
165
180
|
// Across requires passing some value to repay the solvers
|
|
166
181
|
const tokenRequests = !initialTokenRequests || initialTokenRequests.length === 0
|
|
167
182
|
? [
|
|
@@ -178,9 +193,10 @@ function getTransactionParams(transaction) {
|
|
|
178
193
|
signers,
|
|
179
194
|
sponsored,
|
|
180
195
|
eip7702InitSignature,
|
|
196
|
+
gasLimit,
|
|
181
197
|
};
|
|
182
198
|
}
|
|
183
|
-
async function prepareTransactionAsUserOp(config, chain, callInputs, signers) {
|
|
199
|
+
async function prepareTransactionAsUserOp(config, chain, callInputs, signers, gasLimit) {
|
|
184
200
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
185
201
|
chain,
|
|
186
202
|
transport: (0, utils_1.createTransport)(chain, config.provider),
|
|
@@ -194,6 +210,7 @@ async function prepareTransactionAsUserOp(config, chain, callInputs, signers) {
|
|
|
194
210
|
const userOp = await bundlerClient.prepareUserOperation({
|
|
195
211
|
account: validatorAccount,
|
|
196
212
|
calls,
|
|
213
|
+
callGasLimit: gasLimit,
|
|
197
214
|
});
|
|
198
215
|
return {
|
|
199
216
|
type: 'userop',
|
|
@@ -324,8 +341,11 @@ function getOrchestratorByChain(chainId, apiKey, useDev) {
|
|
|
324
341
|
: consts_1.PROD_ORCHESTRATOR_URL;
|
|
325
342
|
return (0, orchestrator_1.getOrchestrator)(apiKey, orchestratorUrl);
|
|
326
343
|
}
|
|
327
|
-
async function
|
|
328
|
-
|
|
344
|
+
async function simulateIntent(config, sourceChains, targetChain, intentOp, signature, authorizations) {
|
|
345
|
+
return simulateIntentInternal(config, sourceChains, targetChain, intentOp, signature, authorizations);
|
|
346
|
+
}
|
|
347
|
+
function createSignedIntentOp(intentOp, signature, authorizations) {
|
|
348
|
+
return {
|
|
329
349
|
...intentOp,
|
|
330
350
|
originSignatures: Array(intentOp.elements.length).fill(signature),
|
|
331
351
|
destinationSignature: signature,
|
|
@@ -340,6 +360,9 @@ async function submitIntentInternal(config, sourceChains, targetChain, intentOp,
|
|
|
340
360
|
}))
|
|
341
361
|
: undefined,
|
|
342
362
|
};
|
|
363
|
+
}
|
|
364
|
+
async function submitIntentInternal(config, sourceChains, targetChain, intentOp, signature, authorizations) {
|
|
365
|
+
const signedIntentOp = createSignedIntentOp(intentOp, signature, authorizations);
|
|
343
366
|
const orchestrator = getOrchestratorByChain(targetChain.id, config.rhinestoneApiKey, config.useDev);
|
|
344
367
|
const intentResults = await orchestrator.submitIntent(signedIntentOp);
|
|
345
368
|
return {
|
|
@@ -349,6 +372,12 @@ async function submitIntentInternal(config, sourceChains, targetChain, intentOp,
|
|
|
349
372
|
targetChain: targetChain.id,
|
|
350
373
|
};
|
|
351
374
|
}
|
|
375
|
+
async function simulateIntentInternal(config, _sourceChains, targetChain, intentOp, signature, authorizations) {
|
|
376
|
+
const signedIntentOp = createSignedIntentOp(intentOp, signature, authorizations);
|
|
377
|
+
const orchestrator = getOrchestratorByChain(targetChain.id, config.rhinestoneApiKey, config.useDev);
|
|
378
|
+
const simulationResults = await orchestrator.simulateIntent(signedIntentOp);
|
|
379
|
+
return simulationResults;
|
|
380
|
+
}
|
|
352
381
|
async function getValidatorAccount(config, signers, publicClient, chain) {
|
|
353
382
|
if (!signers) {
|
|
354
383
|
return undefined;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ interface RhinestoneAccount {
|
|
|
18
18
|
signMessage: (message: SignableMessage, chain: Chain, signers: SignerSet | undefined) => Promise<Hex>;
|
|
19
19
|
signTypedData: <typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(parameters: HashTypedDataParameters<typedData, primaryType>, chain: Chain, signers: SignerSet | undefined) => Promise<Hex>;
|
|
20
20
|
submitTransaction: (signedTransaction: SignedTransactionData, authorizations?: SignedAuthorizationList) => Promise<TransactionResult>;
|
|
21
|
+
simulateTransaction: (signedTransaction: SignedTransactionData, authorizations?: SignedAuthorizationList) => Promise<IntentResult>;
|
|
21
22
|
sendTransaction: (transaction: Transaction) => Promise<TransactionResult>;
|
|
22
23
|
waitForExecution: (result: TransactionResult, acceptsPreconfirmations?: boolean) => Promise<IntentOpStatus | UserOperationReceipt>;
|
|
23
24
|
getAddress: () => Address;
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,uBAAuB,EACvB,GAAG,EACH,eAAe,EACf,uBAAuB,EACvB,SAAS,EACV,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EACL,YAAY,EAEZ,8BAA8B,EAC9B,kCAAkC,EAClC,wCAAwC,EACxC,4BAA4B,EAE5B,cAAc,EACd,kCAAkC,EAClC,qCAAqC,EACrC,4BAA4B,EAE7B,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,2BAA2B,EAC3B,OAAO,EACP,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACd,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EACL,cAAc,EAGd,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EAChC,yBAAyB,EACzB,0CAA0C,EAE1C,0CAA0C,EAE3C,MAAM,aAAa,CAAA;AACpB,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,uBAAuB,EAE5B,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -140,6 +140,16 @@ async function createRhinestoneAccount(config) {
|
|
|
140
140
|
function submitTransaction(signedTransaction, authorizations) {
|
|
141
141
|
return (0, utils_1.submitTransaction)(config, signedTransaction, authorizations ?? []);
|
|
142
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Simulate a transaction
|
|
145
|
+
* @param signedTransaction Signed transaction data
|
|
146
|
+
* @param authorizations EIP-7702 authorizations to simulate (optional)
|
|
147
|
+
* @returns simulation result
|
|
148
|
+
* @see {@link sendTransaction} to send the transaction
|
|
149
|
+
*/
|
|
150
|
+
function simulateTransaction(signedTransaction, authorizations) {
|
|
151
|
+
return (0, utils_1.simulateTransaction)(config, signedTransaction, authorizations ?? []);
|
|
152
|
+
}
|
|
143
153
|
/**
|
|
144
154
|
* Sign and send a transaction
|
|
145
155
|
* @param transaction Transaction to send
|
|
@@ -214,6 +224,7 @@ async function createRhinestoneAccount(config) {
|
|
|
214
224
|
signMessage,
|
|
215
225
|
signTypedData,
|
|
216
226
|
submitTransaction,
|
|
227
|
+
simulateTransaction,
|
|
217
228
|
sendTransaction,
|
|
218
229
|
waitForExecution,
|
|
219
230
|
getAddress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../modules/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,MAAM,MAAM,CAAA;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG3D,iBAAe,aAAa,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../modules/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,MAAM,MAAM,CAAA;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG3D,iBAAe,aAAa,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,EAAE,CAAC,CA+CpB;AAED,iBAAe,SAAS,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC;IACT,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAAC,CAkER;AAED,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA"}
|
package/dist/src/modules/read.js
CHANGED
|
@@ -13,13 +13,14 @@ interface WebauthnCredential {
|
|
|
13
13
|
declare const OWNABLE_VALIDATOR_ADDRESS: Address;
|
|
14
14
|
declare const WEBAUTHN_VALIDATOR_ADDRESS: Address;
|
|
15
15
|
declare const MULTI_FACTOR_VALIDATOR_ADDRESS: Address;
|
|
16
|
+
declare const OWNABLE_V0_VALIDATOR_ADDRESS: Address;
|
|
16
17
|
declare function getOwnerValidator(config: RhinestoneAccountConfig): Module;
|
|
17
18
|
declare function getMockSignature(ownerSet: OwnerSet): Hex;
|
|
18
19
|
declare function getValidator(owners: OwnerSet): Module;
|
|
19
|
-
declare function getOwnableValidator(threshold: number, owners: Address[]): Module;
|
|
20
|
+
declare function getOwnableValidator(threshold: number, owners: Address[], address?: Address): Module;
|
|
20
21
|
declare function getWebAuthnValidator(threshold: number, webAuthnCredentials: WebauthnCredential[]): Module;
|
|
21
22
|
declare function getMultiFactorValidator(threshold: number, validators: (OwnableValidatorConfig | WebauthnValidatorConfig | null)[]): Module;
|
|
22
23
|
declare function getSocialRecoveryValidator(guardians: Account[], threshold?: number): Module;
|
|
23
|
-
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, getOwnerValidator, getOwnableValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, };
|
|
24
|
+
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_V0_VALIDATOR_ADDRESS, getOwnerValidator, getOwnableValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, };
|
|
24
25
|
export type { WebauthnCredential };
|
|
25
26
|
//# sourceMappingURL=core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAIT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAA;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAEzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAIT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAA;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAE9C,QAAA,MAAM,4BAA4B,EAAE,OACU,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAEzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAkDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAyBrC;AAED,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAiBR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,GACxC,MAAM,CA4DR;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,GACtE,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,GACjB,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
|
|
3
|
+
exports.OWNABLE_V0_VALIDATOR_ADDRESS = exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
|
|
4
4
|
exports.getOwnerValidator = getOwnerValidator;
|
|
5
5
|
exports.getOwnableValidator = getOwnableValidator;
|
|
6
6
|
exports.getWebAuthnValidator = getWebAuthnValidator;
|
|
@@ -17,6 +17,8 @@ exports.WEBAUTHN_VALIDATOR_ADDRESS = WEBAUTHN_VALIDATOR_ADDRESS;
|
|
|
17
17
|
const SOCIAL_RECOVERY_VALIDATOR_ADDRESS = '0xA04D053b3C8021e8D5bF641816c42dAA75D8b597';
|
|
18
18
|
const MULTI_FACTOR_VALIDATOR_ADDRESS = '0xf6bDf42c9BE18cEcA5C06c42A43DAf7FBbe7896b';
|
|
19
19
|
exports.MULTI_FACTOR_VALIDATOR_ADDRESS = MULTI_FACTOR_VALIDATOR_ADDRESS;
|
|
20
|
+
const OWNABLE_V0_VALIDATOR_ADDRESS = '0x2483DA3A338895199E5e538530213157e931Bf06';
|
|
21
|
+
exports.OWNABLE_V0_VALIDATOR_ADDRESS = OWNABLE_V0_VALIDATOR_ADDRESS;
|
|
20
22
|
const ECDSA_MOCK_SIGNATURE = '0x81d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b';
|
|
21
23
|
const WEBAUTHN_MOCK_SIGNATURE = '0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001b9b86eb98fda3ed4d797d9e690588dfadf17b329a76a47cec935bebf92d7ddc80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000019b2e9410bb6850f9f660a03d609d5a844fb96bcdc87a15139b03ee22c70f469100d2b865a215c3bf786387064effa8fcedcb1d625b5148f8a1236d5e3ff11acf000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d9763050000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000867b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22396a4546696a75684557724d34534f572d7443684a625545484550343456636a634a2d42716f3166544d38222c226f726967696e223a22687474703a2f2f6c6f63616c686f73743a38303830222c2263726f73734f726967696e223a66616c73657d0000000000000000000000000000000000000000000000000000';
|
|
22
24
|
function getOwnerValidator(config) {
|
|
@@ -24,7 +26,8 @@ function getOwnerValidator(config) {
|
|
|
24
26
|
}
|
|
25
27
|
function getMockSignature(ownerSet) {
|
|
26
28
|
switch (ownerSet.type) {
|
|
27
|
-
case 'ecdsa':
|
|
29
|
+
case 'ecdsa':
|
|
30
|
+
case 'ecdsa-v0': {
|
|
28
31
|
const owners = ownerSet.accounts.map((account) => account.address);
|
|
29
32
|
const signatures = owners.map(() => ECDSA_MOCK_SIGNATURE);
|
|
30
33
|
return (0, viem_1.concat)(signatures);
|
|
@@ -66,6 +69,8 @@ function getValidator(owners) {
|
|
|
66
69
|
switch (owners.type) {
|
|
67
70
|
case 'ecdsa':
|
|
68
71
|
return getOwnableValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address));
|
|
72
|
+
case 'ecdsa-v0':
|
|
73
|
+
return getOwnableValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address), OWNABLE_V0_VALIDATOR_ADDRESS);
|
|
69
74
|
case 'passkey':
|
|
70
75
|
return getWebAuthnValidator(owners.threshold ?? 1, owners.accounts.map((account) => ({
|
|
71
76
|
pubKey: account.publicKey,
|
|
@@ -76,9 +81,9 @@ function getValidator(owners) {
|
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
|
-
function getOwnableValidator(threshold, owners) {
|
|
84
|
+
function getOwnableValidator(threshold, owners, address) {
|
|
80
85
|
return {
|
|
81
|
-
address: OWNABLE_VALIDATOR_ADDRESS,
|
|
86
|
+
address: address ?? OWNABLE_VALIDATOR_ADDRESS,
|
|
82
87
|
initData: (0, viem_1.encodeAbiParameters)([
|
|
83
88
|
{ name: 'threshold', type: 'uint256' },
|
|
84
89
|
{ name: 'owners', type: 'address[]' },
|
|
@@ -14,6 +14,7 @@ export declare class Orchestrator {
|
|
|
14
14
|
getIntentCost(input: IntentInput): Promise<IntentCost>;
|
|
15
15
|
getIntentRoute(input: IntentInput): Promise<IntentRoute>;
|
|
16
16
|
submitIntent(signedIntentOp: SignedIntentOp): Promise<IntentResult>;
|
|
17
|
+
simulateIntent(signedIntentOp: SignedIntentOp): Promise<IntentResult>;
|
|
17
18
|
getIntentOpStatus(intentId: bigint): Promise<IntentOpStatus>;
|
|
18
19
|
private parseError;
|
|
19
20
|
private parseErrorMessage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,MAAM,CAAA;AAexD,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EAET,cAAc,EACf,MAAM,SAAS,CAAA;AAGhB,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAC,CAAQ;gBAEX,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAKxC,YAAY,CAChB,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,MAAM,CAAC,EAAE;YACP,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;SAC7B,CAAA;KACF,GACA,OAAO,CAAC,SAAS,CAAC;IAmDf,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,kBAAkB,EAAE,MAAM,EAC1B,uBAAuB,EAAE,OAAO,EAChC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC;IA0CZ,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA0BtD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAqBxD,YAAY,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAqBnE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBlE,OAAO,CAAC,UAAU;IA0ElB,OAAO,CAAC,iBAAiB;CAmD1B"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,MAAM,CAAA;AAexD,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EAET,cAAc,EACf,MAAM,SAAS,CAAA;AAGhB,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAC,CAAQ;gBAEX,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAKxC,YAAY,CAChB,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,MAAM,CAAC,EAAE;YACP,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;SAC7B,CAAA;KACF,GACA,OAAO,CAAC,SAAS,CAAC;IAmDf,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,kBAAkB,EAAE,MAAM,EAC1B,uBAAuB,EAAE,OAAO,EAChC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC;IA0CZ,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA0BtD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAqBxD,YAAY,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAqBnE,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAqBrE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBlE,OAAO,CAAC,UAAU;IA0ElB,OAAO,CAAC,iBAAiB;CAmD1B"}
|
|
@@ -141,6 +141,22 @@ class Orchestrator {
|
|
|
141
141
|
throw new Error('Failed to submit intent');
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
+
async simulateIntent(signedIntentOp) {
|
|
145
|
+
try {
|
|
146
|
+
const response = await axios_1.default.post(`${this.serverUrl}/intent-operations/simulate`, {
|
|
147
|
+
signedIntentOp: (0, utils_1.convertBigIntFields)(signedIntentOp),
|
|
148
|
+
}, {
|
|
149
|
+
headers: {
|
|
150
|
+
'x-api-key': this.apiKey,
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
return response.data;
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
this.parseError(error);
|
|
157
|
+
throw new Error('Failed to simulate intent');
|
|
158
|
+
}
|
|
159
|
+
}
|
|
144
160
|
async getIntentOpStatus(intentId) {
|
|
145
161
|
try {
|
|
146
162
|
const response = await axios_1.default.get(`${this.serverUrl}/intent-operation/${intentId.toString()}/status`, {
|
|
@@ -1,32 +1,11 @@
|
|
|
1
1
|
import { type Address, type Chain } from 'viem';
|
|
2
2
|
import type { TokenSymbol } from '../types';
|
|
3
3
|
import type { TokenConfig } from './types';
|
|
4
|
-
interface TokenEntry {
|
|
5
|
-
symbol: string;
|
|
6
|
-
address: Address;
|
|
7
|
-
decimals: number;
|
|
8
|
-
balanceSlot: number | null;
|
|
9
|
-
}
|
|
10
|
-
interface ChainContracts {
|
|
11
|
-
spokepool: Address;
|
|
12
|
-
hook: Address;
|
|
13
|
-
originModule: Address;
|
|
14
|
-
targetModule: Address;
|
|
15
|
-
sameChainModule: Address;
|
|
16
|
-
}
|
|
17
|
-
interface ChainEntry {
|
|
18
|
-
name: string;
|
|
19
|
-
contracts: ChainContracts;
|
|
20
|
-
tokens: TokenEntry[];
|
|
21
|
-
}
|
|
22
|
-
interface Registry {
|
|
23
|
-
[chainId: string]: ChainEntry;
|
|
24
|
-
}
|
|
25
4
|
declare function getSupportedChainIds(): number[];
|
|
26
5
|
declare function getWethAddress(chain: Chain): Address;
|
|
27
6
|
declare function getTokenSymbol(tokenAddress: Address, chainId: number): string;
|
|
28
7
|
declare function getTokenAddress(tokenSymbol: TokenSymbol, chainId: number): Address;
|
|
29
|
-
declare function getChainById(chainId: number): Chain
|
|
8
|
+
declare function getChainById(chainId: number): Chain;
|
|
30
9
|
declare function isTestnet(chainId: number): boolean;
|
|
31
10
|
declare function isTokenAddressSupported(address: Address, chainId: number): boolean;
|
|
32
11
|
declare function getSupportedTokens(chainId: number): TokenConfig[];
|
|
@@ -35,5 +14,4 @@ declare function getDefaultAccountAccessList(onTestnets?: boolean): {
|
|
|
35
14
|
};
|
|
36
15
|
declare function resolveTokenAddress(token: TokenSymbol | Address, chainId: number): Address;
|
|
37
16
|
export { getTokenSymbol, getTokenAddress, getWethAddress, getChainById, getSupportedTokens, getSupportedChainIds, isTestnet, isTokenAddressSupported, getDefaultAccountAccessList, resolveTokenAddress, };
|
|
38
|
-
export type { TokenEntry, ChainContracts, ChainEntry, Registry };
|
|
39
17
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../orchestrator/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../orchestrator/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAA0B,MAAM,MAAM,CAAA;AAavE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1D,iBAAS,oBAAoB,IAAI,MAAM,EAAE,CAExC;AAMD,iBAAS,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAY7C;AAED,iBAAS,cAAc,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAiBtE;AAED,iBAAS,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAmB3E;AAMD,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAkB5C;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG3C;AAED,iBAAS,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS3E;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAO1D;AAED,iBAAS,2BAA2B,CAAC,UAAU,CAAC,EAAE,OAAO;;EAaxD;AAED,iBAAS,mBAAmB,CAC1B,KAAK,EAAE,WAAW,GAAG,OAAO,EAC5B,OAAO,EAAE,MAAM,GACd,OAAO,CAKT;AAED,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,CAAA"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getTokenSymbol = getTokenSymbol;
|
|
7
4
|
exports.getTokenAddress = getTokenAddress;
|
|
@@ -13,15 +10,14 @@ exports.isTestnet = isTestnet;
|
|
|
13
10
|
exports.isTokenAddressSupported = isTokenAddressSupported;
|
|
14
11
|
exports.getDefaultAccountAccessList = getDefaultAccountAccessList;
|
|
15
12
|
exports.resolveTokenAddress = resolveTokenAddress;
|
|
13
|
+
const shared_configs_1 = require("@rhinestone/shared-configs");
|
|
16
14
|
const viem_1 = require("viem");
|
|
17
15
|
const chains_1 = require("viem/chains");
|
|
18
|
-
const registry_json_1 = __importDefault(require("./registry.json"));
|
|
19
|
-
const registry = registry_json_1.default;
|
|
20
16
|
function getSupportedChainIds() {
|
|
21
|
-
return Object.keys(
|
|
17
|
+
return Object.keys(shared_configs_1.chains).map((chainId) => parseInt(chainId, 10));
|
|
22
18
|
}
|
|
23
19
|
function getChainEntry(chainId) {
|
|
24
|
-
return
|
|
20
|
+
return shared_configs_1.chains[chainId.toString()];
|
|
25
21
|
}
|
|
26
22
|
function getWethAddress(chain) {
|
|
27
23
|
const chainEntry = getChainEntry(chain.id);
|
|
@@ -62,27 +58,29 @@ function getTokenAddress(tokenSymbol, chainId) {
|
|
|
62
58
|
}
|
|
63
59
|
return token.address;
|
|
64
60
|
}
|
|
61
|
+
function isChainIdSupported(chainId) {
|
|
62
|
+
return Object.keys(shared_configs_1.chains).includes(chainId.toString());
|
|
63
|
+
}
|
|
65
64
|
function getChainById(chainId) {
|
|
66
|
-
const
|
|
67
|
-
chains_1.mainnet,
|
|
68
|
-
chains_1.sepolia,
|
|
69
|
-
chains_1.base,
|
|
70
|
-
chains_1.baseSepolia,
|
|
71
|
-
chains_1.arbitrum,
|
|
72
|
-
chains_1.arbitrumSepolia,
|
|
73
|
-
chains_1.optimism,
|
|
74
|
-
chains_1.optimismSepolia,
|
|
75
|
-
chains_1.polygon,
|
|
76
|
-
chains_1.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
65
|
+
const chains = {
|
|
66
|
+
[chains_1.mainnet.id]: chains_1.mainnet,
|
|
67
|
+
[chains_1.sepolia.id]: chains_1.sepolia,
|
|
68
|
+
[chains_1.base.id]: chains_1.base,
|
|
69
|
+
[chains_1.baseSepolia.id]: chains_1.baseSepolia,
|
|
70
|
+
[chains_1.arbitrum.id]: chains_1.arbitrum,
|
|
71
|
+
[chains_1.arbitrumSepolia.id]: chains_1.arbitrumSepolia,
|
|
72
|
+
[chains_1.optimism.id]: chains_1.optimism,
|
|
73
|
+
[chains_1.optimismSepolia.id]: chains_1.optimismSepolia,
|
|
74
|
+
[chains_1.polygon.id]: chains_1.polygon,
|
|
75
|
+
[chains_1.soneium.id]: chains_1.soneium,
|
|
76
|
+
};
|
|
77
|
+
if (!isChainIdSupported(chainId)) {
|
|
78
|
+
throw new Error(`Chain not supported: ${chainId}`);
|
|
79
|
+
}
|
|
80
|
+
return chains[chainId];
|
|
80
81
|
}
|
|
81
82
|
function isTestnet(chainId) {
|
|
82
83
|
const chain = getChainById(chainId);
|
|
83
|
-
if (!chain) {
|
|
84
|
-
throw new Error(`Chain not supported: ${chainId}`);
|
|
85
|
-
}
|
|
86
84
|
return chain.testnet ?? false;
|
|
87
85
|
}
|
|
88
86
|
function isTokenAddressSupported(address, chainId) {
|
|
@@ -69,11 +69,11 @@ const UNSUPPORTED_TOKEN_ADDRESS = '0x1234567890123456789012345678901234567890';
|
|
|
69
69
|
(0, vitest_1.describe)('getChainById', () => {
|
|
70
70
|
(0, vitest_1.test)('returns correct chain for supported ID', () => {
|
|
71
71
|
const chain = (0, registry_1.getChainById)(chains_1.mainnet.id);
|
|
72
|
-
(0, vitest_1.expect)(chain
|
|
73
|
-
(0, vitest_1.expect)(chain
|
|
72
|
+
(0, vitest_1.expect)(chain.id).toBe(chains_1.mainnet.id);
|
|
73
|
+
(0, vitest_1.expect)(chain.name).toBe(chains_1.mainnet.name);
|
|
74
74
|
});
|
|
75
|
-
(0, vitest_1.test)('
|
|
76
|
-
(0, vitest_1.expect)((0, registry_1.getChainById)(UNSUPPORTED_CHAIN_ID)).
|
|
75
|
+
(0, vitest_1.test)('throws error for unsupported chain', () => {
|
|
76
|
+
(0, vitest_1.expect)(() => (0, registry_1.getChainById)(UNSUPPORTED_CHAIN_ID)).toThrow(`Chain not supported: ${UNSUPPORTED_CHAIN_ID}`);
|
|
77
77
|
});
|
|
78
78
|
});
|
|
79
79
|
(0, vitest_1.describe)('isTestnet', () => {
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
+
import type { SupportedChain, SupportedMainnet, SupportedOPStackMainnet, SupportedOPStackTestnet, SupportedTestnet } from '@rhinestone/shared-configs';
|
|
1
2
|
import type { Address, Hex } from 'viem';
|
|
2
3
|
import type { UserOperationReceipt } from 'viem/account-abstraction';
|
|
3
|
-
import type { arbitrum, arbitrumSepolia, base, baseSepolia, mainnet, optimism, optimismSepolia, polygon, sepolia, soneium, zksync } from 'viem/chains';
|
|
4
|
-
type SupportedTestnet = typeof sepolia.id | typeof baseSepolia.id | typeof arbitrumSepolia.id | typeof optimismSepolia.id;
|
|
5
|
-
type SupportedMainnet = typeof mainnet.id | typeof base.id | typeof arbitrum.id | typeof optimism.id | typeof polygon.id | typeof zksync.id | typeof soneium.id;
|
|
6
|
-
type SupportedOPStackMainnet = typeof optimism.id | typeof base.id | typeof soneium.id;
|
|
7
|
-
type SupportedOPStackTestnet = typeof optimismSepolia.id | typeof baseSepolia.id;
|
|
8
|
-
type SupportedChain = SupportedMainnet | SupportedTestnet;
|
|
9
4
|
type SupportedTokenSymbol = 'ETH' | 'WETH' | 'USDC' | 'USDT';
|
|
10
5
|
type SupportedToken = SupportedTokenSymbol | Address;
|
|
11
6
|
type SmartAccountType = 'GENERIC' | 'ERC7579';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../orchestrator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../orchestrator/types.ts"],"names":[],"mappings":"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"}
|