@gelatocloud/gasless 0.0.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/account/actions/getFeeQuote.d.ts +11 -0
- package/_dist/account/actions/getFeeQuote.d.ts.map +1 -0
- package/_dist/account/actions/getFeeQuote.js +21 -0
- package/_dist/account/actions/getFeeQuote.js.map +1 -0
- package/_dist/account/actions/index.d.ts +4 -0
- package/_dist/account/actions/index.d.ts.map +1 -0
- package/_dist/account/actions/index.js +20 -0
- package/_dist/account/actions/index.js.map +1 -0
- package/_dist/account/actions/sendTransaction.d.ts +20 -0
- package/_dist/account/actions/sendTransaction.d.ts.map +1 -0
- package/_dist/account/actions/sendTransaction.js +33 -0
- package/_dist/account/actions/sendTransaction.js.map +1 -0
- package/_dist/account/actions/sendTransactionSync.d.ts +9 -0
- package/_dist/account/actions/sendTransactionSync.d.ts.map +1 -0
- package/_dist/account/actions/sendTransactionSync.js +34 -0
- package/_dist/account/actions/sendTransactionSync.js.map +1 -0
- package/_dist/account/adapters/gelato/abi.d.ts +39 -0
- package/_dist/account/adapters/gelato/abi.d.ts.map +1 -0
- package/_dist/account/adapters/gelato/abi.js +13 -0
- package/_dist/account/adapters/gelato/abi.js.map +1 -0
- package/_dist/account/adapters/gelato/constants.d.ts +7 -0
- package/_dist/account/adapters/gelato/constants.d.ts.map +1 -0
- package/_dist/account/adapters/gelato/constants.js +9 -0
- package/_dist/account/adapters/gelato/constants.js.map +1 -0
- package/_dist/account/adapters/gelato/index.d.ts +10 -0
- package/_dist/account/adapters/gelato/index.d.ts.map +1 -0
- package/_dist/account/adapters/gelato/index.js +160 -0
- package/_dist/account/adapters/gelato/index.js.map +1 -0
- package/_dist/account/adapters/index.d.ts +2 -0
- package/_dist/account/adapters/index.d.ts.map +1 -0
- package/_dist/account/adapters/index.js +18 -0
- package/_dist/account/adapters/index.js.map +1 -0
- package/_dist/account/adapters/types/index.d.ts +22 -0
- package/_dist/account/adapters/types/index.d.ts.map +1 -0
- package/_dist/account/adapters/types/index.js +3 -0
- package/_dist/account/adapters/types/index.js.map +1 -0
- package/_dist/account/index.d.ts +17 -0
- package/_dist/account/index.d.ts.map +1 -0
- package/_dist/account/index.js +41 -0
- package/_dist/account/index.js.map +1 -0
- package/_dist/account/utils/delegation.d.ts +4 -0
- package/_dist/account/utils/delegation.d.ts.map +1 -0
- package/_dist/account/utils/delegation.js +12 -0
- package/_dist/account/utils/delegation.js.map +1 -0
- package/_dist/account/utils/estimation.d.ts +3 -0
- package/_dist/account/utils/estimation.d.ts.map +1 -0
- package/_dist/account/utils/estimation.js +19 -0
- package/_dist/account/utils/estimation.js.map +1 -0
- package/_dist/account/utils/index.d.ts +3 -0
- package/_dist/account/utils/index.d.ts.map +1 -0
- package/_dist/account/utils/index.js +19 -0
- package/_dist/account/utils/index.js.map +1 -0
- package/_dist/bundler/actions/estimateUserOperationGas.d.ts +6 -0
- package/_dist/bundler/actions/estimateUserOperationGas.d.ts.map +1 -0
- package/_dist/bundler/actions/estimateUserOperationGas.js +43 -0
- package/_dist/bundler/actions/estimateUserOperationGas.js.map +1 -0
- package/_dist/bundler/actions/getUserOperationGasPrice.d.ts +5 -0
- package/_dist/bundler/actions/getUserOperationGasPrice.d.ts.map +1 -0
- package/_dist/bundler/actions/getUserOperationGasPrice.js +20 -0
- package/_dist/bundler/actions/getUserOperationGasPrice.js.map +1 -0
- package/_dist/bundler/actions/getUserOperationQuote.d.ts +13 -0
- package/_dist/bundler/actions/getUserOperationQuote.d.ts.map +1 -0
- package/_dist/bundler/actions/getUserOperationQuote.js +50 -0
- package/_dist/bundler/actions/getUserOperationQuote.js.map +1 -0
- package/_dist/bundler/actions/index.d.ts +7 -0
- package/_dist/bundler/actions/index.d.ts.map +1 -0
- package/_dist/bundler/actions/index.js +23 -0
- package/_dist/bundler/actions/index.js.map +1 -0
- package/_dist/bundler/actions/prepareUserOperation.d.ts +6 -0
- package/_dist/bundler/actions/prepareUserOperation.d.ts.map +1 -0
- package/_dist/bundler/actions/prepareUserOperation.js +340 -0
- package/_dist/bundler/actions/prepareUserOperation.js.map +1 -0
- package/_dist/bundler/actions/sendUserOperation.d.ts +6 -0
- package/_dist/bundler/actions/sendUserOperation.d.ts.map +1 -0
- package/_dist/bundler/actions/sendUserOperation.js +41 -0
- package/_dist/bundler/actions/sendUserOperation.js.map +1 -0
- package/_dist/bundler/actions/sendUserOperationSync.d.ts +9 -0
- package/_dist/bundler/actions/sendUserOperationSync.d.ts.map +1 -0
- package/_dist/bundler/actions/sendUserOperationSync.js +42 -0
- package/_dist/bundler/actions/sendUserOperationSync.js.map +1 -0
- package/_dist/bundler/index.d.ts +18 -0
- package/_dist/bundler/index.d.ts.map +1 -0
- package/_dist/bundler/index.js +61 -0
- package/_dist/bundler/index.js.map +1 -0
- package/_dist/index.d.ts +5 -0
- package/_dist/index.d.ts.map +1 -0
- package/_dist/index.js +21 -0
- package/_dist/index.js.map +1 -0
- package/_dist/relayer/constants/index.d.ts +3 -0
- package/_dist/relayer/constants/index.d.ts.map +1 -0
- package/_dist/relayer/constants/index.js +6 -0
- package/_dist/relayer/constants/index.js.map +1 -0
- package/_dist/relayer/evm/actions/getCapabilities.d.ts +21 -0
- package/_dist/relayer/evm/actions/getCapabilities.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/getCapabilities.js +19 -0
- package/_dist/relayer/evm/actions/getCapabilities.js.map +1 -0
- package/_dist/relayer/evm/actions/getFeeData.d.ts +21 -0
- package/_dist/relayer/evm/actions/getFeeData.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/getFeeData.js +26 -0
- package/_dist/relayer/evm/actions/getFeeData.js.map +1 -0
- package/_dist/relayer/evm/actions/getFeeQuote.d.ts +22 -0
- package/_dist/relayer/evm/actions/getFeeQuote.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/getFeeQuote.js +27 -0
- package/_dist/relayer/evm/actions/getFeeQuote.js.map +1 -0
- package/_dist/relayer/evm/actions/getStatus.d.ts +81 -0
- package/_dist/relayer/evm/actions/getStatus.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/getStatus.js +72 -0
- package/_dist/relayer/evm/actions/getStatus.js.map +1 -0
- package/_dist/relayer/evm/actions/index.d.ts +8 -0
- package/_dist/relayer/evm/actions/index.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/index.js +24 -0
- package/_dist/relayer/evm/actions/index.js.map +1 -0
- package/_dist/relayer/evm/actions/sendTransaction.d.ts +12 -0
- package/_dist/relayer/evm/actions/sendTransaction.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/sendTransaction.js +22 -0
- package/_dist/relayer/evm/actions/sendTransaction.js.map +1 -0
- package/_dist/relayer/evm/actions/sendTransactionSync.d.ts +8 -0
- package/_dist/relayer/evm/actions/sendTransactionSync.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/sendTransactionSync.js +23 -0
- package/_dist/relayer/evm/actions/sendTransactionSync.js.map +1 -0
- package/_dist/relayer/evm/actions/waitForStatus.d.ts +4 -0
- package/_dist/relayer/evm/actions/waitForStatus.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/waitForStatus.js +17 -0
- package/_dist/relayer/evm/actions/waitForStatus.js.map +1 -0
- package/_dist/relayer/evm/index.d.ts +18 -0
- package/_dist/relayer/evm/index.d.ts.map +1 -0
- package/_dist/relayer/evm/index.js +46 -0
- package/_dist/relayer/evm/index.js.map +1 -0
- package/_dist/relayer/index.d.ts +2 -0
- package/_dist/relayer/index.d.ts.map +1 -0
- package/_dist/relayer/index.js +18 -0
- package/_dist/relayer/index.js.map +1 -0
- package/_dist/tsconfig.build.tsbuildinfo +1 -0
- package/_dist/types/error.d.ts +14 -0
- package/_dist/types/error.d.ts.map +1 -0
- package/_dist/types/error.js +27 -0
- package/_dist/types/error.js.map +1 -0
- package/_dist/types/index.d.ts +4 -0
- package/_dist/types/index.d.ts.map +1 -0
- package/_dist/types/index.js +20 -0
- package/_dist/types/index.js.map +1 -0
- package/_dist/types/payment.d.ts +17 -0
- package/_dist/types/payment.d.ts.map +1 -0
- package/_dist/types/payment.js +16 -0
- package/_dist/types/payment.js.map +1 -0
- package/_dist/types/schema.d.ts +10 -0
- package/_dist/types/schema.d.ts.map +1 -0
- package/_dist/types/schema.js +25 -0
- package/_dist/types/schema.js.map +1 -0
- package/_dist/utils/index.d.ts +3 -0
- package/_dist/utils/index.d.ts.map +1 -0
- package/_dist/utils/index.js +19 -0
- package/_dist/utils/index.js.map +1 -0
- package/_dist/utils/payment.d.ts +3 -0
- package/_dist/utils/payment.d.ts.map +1 -0
- package/_dist/utils/payment.js +17 -0
- package/_dist/utils/payment.js.map +1 -0
- package/_dist/utils/serialize.d.ts +17 -0
- package/_dist/utils/serialize.d.ts.map +1 -0
- package/_dist/utils/serialize.js +77 -0
- package/_dist/utils/serialize.js.map +1 -0
- package/account/actions/getFeeQuote.ts +34 -0
- package/account/actions/index.ts +3 -0
- package/account/actions/sendTransaction.ts +61 -0
- package/account/actions/sendTransactionSync.ts +51 -0
- package/account/adapters/gelato/abi.ts +13 -0
- package/account/adapters/gelato/constants.ts +13 -0
- package/account/adapters/gelato/index.ts +216 -0
- package/account/adapters/index.ts +1 -0
- package/account/adapters/types/index.ts +36 -0
- package/account/index.ts +60 -0
- package/account/utils/delegation.ts +9 -0
- package/account/utils/estimation.ts +29 -0
- package/account/utils/index.ts +2 -0
- package/bundler/actions/estimateUserOperationGas.ts +63 -0
- package/bundler/actions/getUserOperationGasPrice.ts +25 -0
- package/bundler/actions/getUserOperationQuote.ts +83 -0
- package/bundler/actions/index.ts +6 -0
- package/bundler/actions/prepareUserOperation.ts +437 -0
- package/bundler/actions/sendUserOperation.ts +64 -0
- package/bundler/actions/sendUserOperationSync.ts +71 -0
- package/bundler/index.ts +98 -0
- package/index.ts +4 -0
- package/package.json +36 -0
- package/relayer/constants/index.ts +2 -0
- package/relayer/evm/actions/getCapabilities.ts +22 -0
- package/relayer/evm/actions/getFeeData.ts +36 -0
- package/relayer/evm/actions/getFeeQuote.ts +39 -0
- package/relayer/evm/actions/getStatus.ts +92 -0
- package/relayer/evm/actions/index.ts +7 -0
- package/relayer/evm/actions/sendTransaction.ts +33 -0
- package/relayer/evm/actions/sendTransactionSync.ts +30 -0
- package/relayer/evm/actions/waitForStatus.ts +24 -0
- package/relayer/evm/index.ts +68 -0
- package/relayer/index.ts +1 -0
- package/tsconfig.build.json +19 -0
- package/tsconfig.json +8 -0
- package/types/error.ts +38 -0
- package/types/index.ts +3 -0
- package/types/payment.ts +23 -0
- package/types/schema.ts +28 -0
- package/utils/index.ts +2 -0
- package/utils/payment.ts +20 -0
- package/utils/serialize.ts +91 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseError } from 'viem';
|
|
2
|
+
export declare class InvalidBytesLengthError extends BaseError {
|
|
3
|
+
constructor({ size, targetSize, type }: {
|
|
4
|
+
size: number;
|
|
5
|
+
targetSize: number;
|
|
6
|
+
type: 'hex' | 'bytes';
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
export declare class AccountNotFoundError extends BaseError {
|
|
10
|
+
constructor({ docsPath }?: {
|
|
11
|
+
docsPath?: string | undefined;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../types/error.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,qBAAa,uBAAwB,SAAQ,SAAS;gBACxC,EACV,IAAI,EACJ,UAAU,EACV,IAAI,EACL,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;KACvB;CAQF;AAED,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,EAAE,QAAQ,EAAE,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAO;CAajE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Note: copied from viem since it doesn't export these
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AccountNotFoundError = exports.InvalidBytesLengthError = void 0;
|
|
5
|
+
const viem_1 = require("viem");
|
|
6
|
+
class InvalidBytesLengthError extends viem_1.BaseError {
|
|
7
|
+
constructor({ size, targetSize, type }) {
|
|
8
|
+
super(`${type.charAt(0).toUpperCase()}${type
|
|
9
|
+
.slice(1)
|
|
10
|
+
.toLowerCase()} is expected to be ${targetSize} ${type} long, but is ${size} ${type} long.`, { name: 'InvalidBytesLengthError' });
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.InvalidBytesLengthError = InvalidBytesLengthError;
|
|
14
|
+
class AccountNotFoundError extends viem_1.BaseError {
|
|
15
|
+
constructor({ docsPath } = {}) {
|
|
16
|
+
super([
|
|
17
|
+
'Could not find an Account to execute with this Action.',
|
|
18
|
+
'Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.'
|
|
19
|
+
].join('\n'), {
|
|
20
|
+
docsPath,
|
|
21
|
+
docsSlug: 'account',
|
|
22
|
+
name: 'AccountNotFoundError'
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.AccountNotFoundError = AccountNotFoundError;
|
|
27
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../types/error.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAEvD,+BAAiC;AAEjC,MAAa,uBAAwB,SAAQ,gBAAS;IACpD,YAAY,EACV,IAAI,EACJ,UAAU,EACV,IAAI,EAKL;QACC,KAAK,CACH,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI;aACnC,KAAK,CAAC,CAAC,CAAC;aACR,WAAW,EAAE,sBAAsB,UAAU,IAAI,IAAI,iBAAiB,IAAI,IAAI,IAAI,QAAQ,EAC7F,EAAE,IAAI,EAAE,yBAAyB,EAAE,CACpC,CAAC;IACJ,CAAC;CACF;AAjBD,0DAiBC;AAED,MAAa,oBAAqB,SAAQ,gBAAS;IACjD,YAAY,EAAE,QAAQ,KAAwC,EAAE;QAC9D,KAAK,CACH;YACE,wDAAwD;YACxD,kHAAkH;SACnH,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;YACE,QAAQ;YACR,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,sBAAsB;SAC7B,CACF,CAAC;IACJ,CAAC;CACF;AAdD,oDAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./error.js"), exports);
|
|
18
|
+
__exportStar(require("./payment.js"), exports);
|
|
19
|
+
__exportStar(require("./schema.js"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Address } from 'viem';
|
|
2
|
+
export declare enum PaymentType {
|
|
3
|
+
Token = "token",
|
|
4
|
+
Sponsored = "sponsored"
|
|
5
|
+
}
|
|
6
|
+
export type TokenPayment = {
|
|
7
|
+
type: PaymentType.Token;
|
|
8
|
+
address: Address;
|
|
9
|
+
};
|
|
10
|
+
export type SponsoredPayment = {
|
|
11
|
+
type: PaymentType.Sponsored;
|
|
12
|
+
};
|
|
13
|
+
export type Payment = TokenPayment | SponsoredPayment;
|
|
14
|
+
export declare const sponsored: () => Payment;
|
|
15
|
+
export declare const token: (address: Address) => Payment;
|
|
16
|
+
export declare const native: () => Payment;
|
|
17
|
+
//# sourceMappingURL=payment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../types/payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,MAAM,CAAC;AAEjD,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,SAAS,cAAc;CACxB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAEtD,eAAO,MAAM,SAAS,QAAO,OAA4C,CAAC;AAE1E,eAAO,MAAM,KAAK,GAAI,SAAS,OAAO,KAAG,OAAiD,CAAC;AAE3F,eAAO,MAAM,MAAM,QAAO,OAA8D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.native = exports.token = exports.sponsored = exports.PaymentType = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
var PaymentType;
|
|
6
|
+
(function (PaymentType) {
|
|
7
|
+
PaymentType["Token"] = "token";
|
|
8
|
+
PaymentType["Sponsored"] = "sponsored";
|
|
9
|
+
})(PaymentType || (exports.PaymentType = PaymentType = {}));
|
|
10
|
+
const sponsored = () => ({ type: PaymentType.Sponsored });
|
|
11
|
+
exports.sponsored = sponsored;
|
|
12
|
+
const token = (address) => ({ address, type: PaymentType.Token });
|
|
13
|
+
exports.token = token;
|
|
14
|
+
const native = () => ({ address: viem_1.zeroAddress, type: PaymentType.Token });
|
|
15
|
+
exports.native = native;
|
|
16
|
+
//# sourceMappingURL=payment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../types/payment.ts"],"names":[],"mappings":";;;AAAA,+BAAiD;AAEjD,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,sCAAuB,CAAA;AACzB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAaM,MAAM,SAAS,GAAG,GAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;AAA7D,QAAA,SAAS,aAAoD;AAEnE,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAW,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;AAA9E,QAAA,KAAK,SAAyE;AAEpF,MAAM,MAAM,GAAG,GAAY,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAW,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;AAA5E,QAAA,MAAM,UAAsE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const hexDataSchema: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
3
|
+
export declare const hexData32Schema: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
4
|
+
export declare const evmAddressSchema: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
5
|
+
export declare const evmTokenSchema: z.ZodObject<{
|
|
6
|
+
address: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
7
|
+
decimals: z.ZodNumber;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export type EvmToken = z.infer<typeof evmTokenSchema>;
|
|
10
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../types/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,aAAa,+DAGO,CAAC;AAElC,eAAO,MAAM,eAAe,+DAGK,CAAC;AAElC,eAAO,MAAM,gBAAgB,+DAGS,CAAC;AAEvC,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evmTokenSchema = exports.evmAddressSchema = exports.hexData32Schema = exports.hexDataSchema = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const hexData32Pattern = /^0x([0-9a-fA-F][0-9a-fA-F]){32}$/;
|
|
7
|
+
const hexDataPattern = /^0x([0-9a-fA-F][0-9a-fA-F])*$/;
|
|
8
|
+
const evmAddressPattern = /^0x([0-9a-fA-F][0-9a-fA-F]){20}$/;
|
|
9
|
+
exports.hexDataSchema = zod_1.z
|
|
10
|
+
.string()
|
|
11
|
+
.regex(hexDataPattern, { message: 'not valid hex data' })
|
|
12
|
+
.transform((val) => val);
|
|
13
|
+
exports.hexData32Schema = zod_1.z
|
|
14
|
+
.string()
|
|
15
|
+
.regex(hexData32Pattern, { message: 'not valid 32-byte hex data' })
|
|
16
|
+
.transform((val) => val);
|
|
17
|
+
exports.evmAddressSchema = zod_1.z
|
|
18
|
+
.string()
|
|
19
|
+
.regex(evmAddressPattern, { message: 'not a valid EVM address' })
|
|
20
|
+
.transform((val) => (0, viem_1.getAddress)(val));
|
|
21
|
+
exports.evmTokenSchema = zod_1.z.object({
|
|
22
|
+
address: exports.evmAddressSchema,
|
|
23
|
+
decimals: zod_1.z.number()
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../types/schema.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAC5C,6BAAwB;AAExB,MAAM,gBAAgB,GAAG,kCAAkC,CAAC;AAC5D,MAAM,cAAc,GAAG,+BAA+B,CAAC;AACvD,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAEhD,QAAA,aAAa,GAAG,OAAC;KAC3B,MAAM,EAAE;KACR,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACxD,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAU,CAAC,CAAC;AAErB,QAAA,eAAe,GAAG,OAAC;KAC7B,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;KAClE,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAU,CAAC,CAAC;AAErB,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,EAAE;KACR,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;KAChE,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC,CAAC;AAE1B,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,wBAAgB;IACzB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./payment.js"), exports);
|
|
18
|
+
__exportStar(require("./serialize.js"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../utils/payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAA6C,MAAM,MAAM,CAAC;AAE1F,eAAO,MAAM,aAAa,GACxB,OAAO,IAAI,EAAE,EACb,OAAO,OAAO,EACd,cAAc,OAAO,EACrB,QAAQ,MAAM,KACb,IAAI,EAYN,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.appendPayment = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const appendPayment = (calls, token, feeCollector, amount) => {
|
|
6
|
+
if (token === viem_1.zeroAddress) {
|
|
7
|
+
return [...calls, { to: feeCollector, value: amount }];
|
|
8
|
+
}
|
|
9
|
+
const data = (0, viem_1.encodeFunctionData)({
|
|
10
|
+
abi: viem_1.erc20Abi,
|
|
11
|
+
args: [feeCollector, amount],
|
|
12
|
+
functionName: 'transfer'
|
|
13
|
+
});
|
|
14
|
+
return [...calls, { data, to: token }];
|
|
15
|
+
};
|
|
16
|
+
exports.appendPayment = appendPayment;
|
|
17
|
+
//# sourceMappingURL=payment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../utils/payment.ts"],"names":[],"mappings":";;;AAAA,+BAA0F;AAEnF,MAAM,aAAa,GAAG,CAC3B,KAAa,EACb,KAAc,EACd,YAAqB,EACrB,MAAc,EACN,EAAE;IACV,IAAI,KAAK,KAAK,kBAAW,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC;QAC9B,GAAG,EAAE,eAAQ;QACb,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,UAAU;KACzB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type RpcAccountStateOverride, type RpcStateMapping, type RpcStateOverride, type SignedAuthorization, type StateMapping, type StateOverride } from 'viem';
|
|
2
|
+
type SerializeStateMappingParameters = StateMapping | undefined;
|
|
3
|
+
export declare function serializeStateMapping(stateMapping: SerializeStateMappingParameters): RpcStateMapping | undefined;
|
|
4
|
+
type SerializeAccountStateOverrideParameters = Omit<StateOverride[number], 'address'>;
|
|
5
|
+
export declare function serializeAccountStateOverride(parameters: SerializeAccountStateOverrideParameters): RpcAccountStateOverride;
|
|
6
|
+
type SerializeStateOverrideParameters = StateOverride | undefined;
|
|
7
|
+
export declare function serializeStateOverride(parameters?: SerializeStateOverrideParameters): RpcStateOverride | undefined;
|
|
8
|
+
export declare function formatAuthorization(authorization: SignedAuthorization): {
|
|
9
|
+
address: `0x${string}`;
|
|
10
|
+
chainId: `0x${string}`;
|
|
11
|
+
nonce: `0x${string}`;
|
|
12
|
+
r: `0x${string}`;
|
|
13
|
+
s: `0x${string}`;
|
|
14
|
+
yParity: `0x${string}`;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../utils/serialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAExB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,MAAM,CAAC;AAGd,KAAK,+BAA+B,GAAG,YAAY,GAAG,SAAS,CAAC;AAEhE,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,+BAA+B,GAC5C,eAAe,GAAG,SAAS,CAkB7B;AAED,KAAK,uCAAuC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAEtF,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,uCAAuC,GAClD,uBAAuB,CAYzB;AAED,KAAK,gCAAgC,GAAG,aAAa,GAAG,SAAS,CAAC;AAElE,wBAAgB,sBAAsB,CACpC,UAAU,CAAC,EAAE,gCAAgC,GAC5C,gBAAgB,GAAG,SAAS,CAS9B;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,mBAAmB;;;;;;;EAerE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Note: copied from viem since it doesn't export these
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.serializeStateMapping = serializeStateMapping;
|
|
5
|
+
exports.serializeAccountStateOverride = serializeAccountStateOverride;
|
|
6
|
+
exports.serializeStateOverride = serializeStateOverride;
|
|
7
|
+
exports.formatAuthorization = formatAuthorization;
|
|
8
|
+
const viem_1 = require("viem");
|
|
9
|
+
const index_js_1 = require("../types/index.js");
|
|
10
|
+
function serializeStateMapping(stateMapping) {
|
|
11
|
+
if (!stateMapping || stateMapping.length === 0)
|
|
12
|
+
return undefined;
|
|
13
|
+
return stateMapping.reduce((acc, { slot, value }) => {
|
|
14
|
+
if (slot.length !== 66)
|
|
15
|
+
throw new index_js_1.InvalidBytesLengthError({
|
|
16
|
+
size: slot.length,
|
|
17
|
+
targetSize: 66,
|
|
18
|
+
type: 'hex'
|
|
19
|
+
});
|
|
20
|
+
if (value.length !== 66)
|
|
21
|
+
throw new index_js_1.InvalidBytesLengthError({
|
|
22
|
+
size: value.length,
|
|
23
|
+
targetSize: 66,
|
|
24
|
+
type: 'hex'
|
|
25
|
+
});
|
|
26
|
+
acc[slot] = value;
|
|
27
|
+
return acc;
|
|
28
|
+
}, {});
|
|
29
|
+
}
|
|
30
|
+
function serializeAccountStateOverride(parameters) {
|
|
31
|
+
const { balance, nonce, state, stateDiff, code } = parameters;
|
|
32
|
+
const rpcAccountStateOverride = {};
|
|
33
|
+
if (code !== undefined)
|
|
34
|
+
rpcAccountStateOverride.code = code;
|
|
35
|
+
if (balance !== undefined)
|
|
36
|
+
rpcAccountStateOverride.balance = (0, viem_1.numberToHex)(balance);
|
|
37
|
+
if (nonce !== undefined)
|
|
38
|
+
rpcAccountStateOverride.nonce = (0, viem_1.numberToHex)(nonce);
|
|
39
|
+
if (state !== undefined)
|
|
40
|
+
rpcAccountStateOverride.state = serializeStateMapping(state);
|
|
41
|
+
if (stateDiff !== undefined) {
|
|
42
|
+
if (rpcAccountStateOverride.state)
|
|
43
|
+
throw new viem_1.StateAssignmentConflictError();
|
|
44
|
+
rpcAccountStateOverride.stateDiff = serializeStateMapping(stateDiff);
|
|
45
|
+
}
|
|
46
|
+
return rpcAccountStateOverride;
|
|
47
|
+
}
|
|
48
|
+
function serializeStateOverride(parameters) {
|
|
49
|
+
if (!parameters)
|
|
50
|
+
return undefined;
|
|
51
|
+
const rpcStateOverride = {};
|
|
52
|
+
for (const { address, ...accountState } of parameters) {
|
|
53
|
+
if (!(0, viem_1.isAddress)(address, { strict: false }))
|
|
54
|
+
throw new viem_1.InvalidAddressError({ address });
|
|
55
|
+
if (rpcStateOverride[address])
|
|
56
|
+
throw new viem_1.AccountStateConflictError({ address: address });
|
|
57
|
+
rpcStateOverride[address] = serializeAccountStateOverride(accountState);
|
|
58
|
+
}
|
|
59
|
+
return rpcStateOverride;
|
|
60
|
+
}
|
|
61
|
+
function formatAuthorization(authorization) {
|
|
62
|
+
return {
|
|
63
|
+
address: authorization.address,
|
|
64
|
+
chainId: (0, viem_1.numberToHex)(authorization.chainId),
|
|
65
|
+
nonce: (0, viem_1.numberToHex)(authorization.nonce),
|
|
66
|
+
r: authorization.r
|
|
67
|
+
? (0, viem_1.numberToHex)(BigInt(authorization.r), { size: 32 })
|
|
68
|
+
: (0, viem_1.pad)('0x', { size: 32 }),
|
|
69
|
+
s: authorization.s
|
|
70
|
+
? (0, viem_1.numberToHex)(BigInt(authorization.s), { size: 32 })
|
|
71
|
+
: (0, viem_1.pad)('0x', { size: 32 }),
|
|
72
|
+
yParity: authorization.yParity
|
|
73
|
+
? (0, viem_1.numberToHex)(authorization.yParity, { size: 1 })
|
|
74
|
+
: (0, viem_1.pad)('0x', { size: 32 })
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=serialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../utils/serialize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type Call, zeroAddress } from 'viem';
|
|
2
|
+
import type { SmartAccount } from 'viem/account-abstraction';
|
|
3
|
+
import type { CapabilitiesByChain, FeeQuote, GelatoEvmRelayerClient } from '../../relayer/index.js';
|
|
4
|
+
import { type Payment, PaymentType } from '../../types/index.js';
|
|
5
|
+
import { appendPayment } from '../../utils/index.js';
|
|
6
|
+
import type { GelatoSmartAccountImplementation } from '../adapters/types/index.js';
|
|
7
|
+
|
|
8
|
+
export type GetFeeQuoteParameters = {
|
|
9
|
+
payment: Payment;
|
|
10
|
+
calls: Call[];
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const getFeeQuote = async (
|
|
14
|
+
client: GelatoEvmRelayerClient,
|
|
15
|
+
account: SmartAccount<GelatoSmartAccountImplementation>,
|
|
16
|
+
capabilities: CapabilitiesByChain,
|
|
17
|
+
parameters: GetFeeQuoteParameters
|
|
18
|
+
): Promise<FeeQuote> => {
|
|
19
|
+
const { payment } = parameters;
|
|
20
|
+
|
|
21
|
+
const calls =
|
|
22
|
+
payment.type === PaymentType.Token
|
|
23
|
+
? appendPayment(parameters.calls, payment.address, capabilities.feeCollector, 1n)
|
|
24
|
+
: parameters.calls;
|
|
25
|
+
|
|
26
|
+
const { estimatedGas, estimatedL1Fee } = await account.estimate({ calls });
|
|
27
|
+
|
|
28
|
+
return await client.getFeeQuote({
|
|
29
|
+
chainId: account.chain.id,
|
|
30
|
+
gas: estimatedGas,
|
|
31
|
+
l1Fee: estimatedL1Fee,
|
|
32
|
+
token: payment.type === PaymentType.Token ? payment.address : zeroAddress
|
|
33
|
+
});
|
|
34
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { Hex } from 'viem';
|
|
2
|
+
import type { SmartAccount } from 'viem/account-abstraction';
|
|
3
|
+
import type { CapabilitiesByChain, FeeQuote, GelatoEvmRelayerClient } from '../../relayer/index.js';
|
|
4
|
+
import { PaymentType } from '../../types/index.js';
|
|
5
|
+
import { appendPayment } from '../../utils/index.js';
|
|
6
|
+
import type { GelatoSmartAccountImplementation } from '../adapters/types/index.js';
|
|
7
|
+
import { type GetFeeQuoteParameters, getFeeQuote } from './getFeeQuote.js';
|
|
8
|
+
|
|
9
|
+
export type NonceOrKey =
|
|
10
|
+
| {
|
|
11
|
+
nonce?: never;
|
|
12
|
+
nonceKey?: never;
|
|
13
|
+
}
|
|
14
|
+
| {
|
|
15
|
+
nonce: bigint;
|
|
16
|
+
nonceKey?: never;
|
|
17
|
+
}
|
|
18
|
+
| {
|
|
19
|
+
nonce?: never;
|
|
20
|
+
nonceKey: bigint;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type SendTransactionParameters = GetFeeQuoteParameters &
|
|
24
|
+
NonceOrKey & {
|
|
25
|
+
quote?: FeeQuote;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const sendTransaction = async (
|
|
29
|
+
client: GelatoEvmRelayerClient,
|
|
30
|
+
account: SmartAccount<GelatoSmartAccountImplementation>,
|
|
31
|
+
capabilities: CapabilitiesByChain,
|
|
32
|
+
parameters: SendTransactionParameters
|
|
33
|
+
): Promise<Hex> => {
|
|
34
|
+
const { payment } = parameters;
|
|
35
|
+
|
|
36
|
+
const [quote, nonce, deployed] = await Promise.all([
|
|
37
|
+
payment.type === PaymentType.Token
|
|
38
|
+
? (parameters.quote ?? (await getFeeQuote(client, account, capabilities, parameters)))
|
|
39
|
+
: undefined,
|
|
40
|
+
parameters.nonce ?? account.getNonce({ key: parameters.nonceKey }),
|
|
41
|
+
account.isDeployed()
|
|
42
|
+
]);
|
|
43
|
+
|
|
44
|
+
const calls = quote
|
|
45
|
+
? appendPayment(parameters.calls, quote.token.address, capabilities.feeCollector, quote.fee)
|
|
46
|
+
: parameters.calls;
|
|
47
|
+
|
|
48
|
+
const [data, authorizationList] = await Promise.all([
|
|
49
|
+
account.encodeCallData({ calls, nonce }),
|
|
50
|
+
deployed ? undefined : account.signAuthorization().then((x) => [x])
|
|
51
|
+
]);
|
|
52
|
+
|
|
53
|
+
return await client.sendTransaction({
|
|
54
|
+
authorizationList,
|
|
55
|
+
chainId: account.chain.id,
|
|
56
|
+
context: quote?.context,
|
|
57
|
+
data,
|
|
58
|
+
payment,
|
|
59
|
+
to: account.address
|
|
60
|
+
});
|
|
61
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { SmartAccount } from 'viem/account-abstraction';
|
|
2
|
+
import type {
|
|
3
|
+
CapabilitiesByChain,
|
|
4
|
+
GelatoEvmRelayerClient,
|
|
5
|
+
TerminalStatus
|
|
6
|
+
} from '../../relayer/index.js';
|
|
7
|
+
import { PaymentType } from '../../types/index.js';
|
|
8
|
+
import { appendPayment } from '../../utils/index.js';
|
|
9
|
+
import type { GelatoSmartAccountImplementation } from '../adapters/types/index.js';
|
|
10
|
+
import { getFeeQuote } from './getFeeQuote.js';
|
|
11
|
+
import type { SendTransactionParameters } from './sendTransaction.js';
|
|
12
|
+
|
|
13
|
+
export type SendTransactionSyncParameters = SendTransactionParameters & {
|
|
14
|
+
timeout?: number;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const sendTransactionSync = async (
|
|
18
|
+
client: GelatoEvmRelayerClient,
|
|
19
|
+
account: SmartAccount<GelatoSmartAccountImplementation>,
|
|
20
|
+
capabilities: CapabilitiesByChain,
|
|
21
|
+
parameters: SendTransactionSyncParameters
|
|
22
|
+
): Promise<TerminalStatus> => {
|
|
23
|
+
const { payment, timeout } = parameters;
|
|
24
|
+
|
|
25
|
+
const [quote, nonce, deployed] = await Promise.all([
|
|
26
|
+
payment.type === PaymentType.Token
|
|
27
|
+
? (parameters.quote ?? (await getFeeQuote(client, account, capabilities, parameters)))
|
|
28
|
+
: undefined,
|
|
29
|
+
parameters.nonce ?? account.getNonce({ key: parameters.nonceKey }),
|
|
30
|
+
account.isDeployed()
|
|
31
|
+
]);
|
|
32
|
+
|
|
33
|
+
const calls = quote
|
|
34
|
+
? appendPayment(parameters.calls, quote.token.address, capabilities.feeCollector, quote.fee)
|
|
35
|
+
: parameters.calls;
|
|
36
|
+
|
|
37
|
+
const [data, authorizationList] = await Promise.all([
|
|
38
|
+
account.encodeCallData({ calls, nonce }),
|
|
39
|
+
deployed ? undefined : account.signAuthorization().then((x) => [x])
|
|
40
|
+
]);
|
|
41
|
+
|
|
42
|
+
return await client.sendTransactionSync({
|
|
43
|
+
authorizationList,
|
|
44
|
+
chainId: account.chain.id,
|
|
45
|
+
context: quote?.context,
|
|
46
|
+
data,
|
|
47
|
+
payment,
|
|
48
|
+
timeout,
|
|
49
|
+
to: account.address
|
|
50
|
+
});
|
|
51
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { parseAbi } from 'viem';
|
|
2
|
+
|
|
3
|
+
export const delegationAbi = parseAbi([
|
|
4
|
+
'function execute(bytes32 mode, bytes executionData) payable',
|
|
5
|
+
'function getNonce(uint192 key) returns (uint256)'
|
|
6
|
+
]);
|
|
7
|
+
|
|
8
|
+
export const simulationAbi = parseAbi([
|
|
9
|
+
'function simulateExecute(bytes32 mode, bytes executionData)'
|
|
10
|
+
]);
|
|
11
|
+
|
|
12
|
+
export const simulationBytecode =
|
|
13
|
+
'0x6080604052600436106100f4575f3560e01c806384b0196e1161008e578063bc197c8111610060578063bc197c8114610300578063d03c79141461032e578063e9ae5c531461034d578063ebb86b0914610360578063f23a6e611461037357005b806384b0196e1461026d5780638dd7712f14610294578063b0d691fe146102b3578063b70e36f0146102e157005b80633e1b0812116100c75780633e1b0812146101ba57806340a141ff146101d95780634d238c8e146101f857806375f251671461021757005b806301ffc9a7146100f6578063150b7a021461012a5780631626ba7e1461016e57806319822f7c1461018d575b005b348015610101575f5ffd5b5061011561011036600461137f565b61039f565b60405190151581526020015b60405180910390f35b348015610135575f5ffd5b506101556101443660046113f2565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610121565b348015610179575f5ffd5b5061015561018836600461145f565b6103f0565b348015610198575f5ffd5b506101ac6101a73660046114bd565b610506565b604051908152602001610121565b3480156101c5575f5ffd5b506101ac6101d4366004611506565b61070e565b3480156101e4575f5ffd5b506100f46101f336600461152c565b610753565b348015610203575f5ffd5b506100f461021236600461152c565b6107da565b348015610222575f5ffd5b5061011561023136600461152c565b6001600160a01b03165f9081527f1581abf533ae210f1ff5d25f322511179a9a65d8d8e43c998eab264f924af901602052604090205460ff1690565b348015610278575f5ffd5b50610281610864565b6040516101219796959493929190611575565b34801561029f575f5ffd5b506100f46102ae36600461160b565b6108cb565b3480156102be575f5ffd5b50604051734337084d9e255ff0702461cf8895ce9e3b5ff1088152602001610121565b3480156102ec575f5ffd5b506100f46102fb36600461164c565b610986565b34801561030b575f5ffd5b5061015561031a3660046116a3565b63bc197c8160e01b98975050505050505050565b348015610339575f5ffd5b5061011561034836600461164c565b610a6b565b6100f461035b36600461145f565b610af0565b6100f461036e36600461145f565b610b01565b34801561037e575f5ffd5b5061015561038d366004611763565b63f23a6e6160e01b9695505050505050565b5f6001600160e01b031982166301ffc9a760e01b14806103cf57506001600160e01b03198216630a85bd0160e11b145b806103ea57506001600160e01b03198216630271189760e51b145b92915050565b5f604182900361042757610405848484610b0e565b610417576001600160e01b0319610420565b630b135d3f60e11b5b90506104ff565b5f365f6104348686610bfa565b92509250925061044e5f516020611a935f395f51905f5290565b6001600160a01b0384165f908152600191909101602052604090205460ff1661048a57604051631a0a9b9f60e21b815260040160405180910390fd5b604051630b135d3f60e11b81526001600160a01b03841690631626ba7e906104ba908a9086908690600401611801565b602060405180830381865afa1580156104d5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f99190611823565b93505050505b9392505050565b5f33734337084d9e255ff0702461cf8895ce9e3b5ff1081461053b576040516348f5c3ed60e01b815260040160405180910390fd5b811561058a576040515f90339084908381818185875af1925050503d805f8114610580576040519150601f19603f3d011682016040523d82523d5f602084013e610585565b606091505b505050505b61059861010085018561183e565b90506041036105cf576105b8836105b361010087018761183e565b610b0e565b6105c35760016105c5565b5f5b60ff1690506104ff565b5f36816105e86105e361010089018961183e565b610bfa565b9250925092506106025f516020611a935f395f51905f5290565b6001600160a01b0384165f908152600191909101602052604090205460ff1661063e57604051631a0a9b9f60e21b815260040160405180910390fd5b6106488684610c0f565b365f61067661065a60608b018b61183e565b610668916004908290611880565b508035016020810191903590565b6040516302cd6e3760e21b815291935091506001600160a01b03861690630b35b8dc906106b1908590859033908e908b908b906004016118a7565b6020604051808303815f875af11580156106cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f191906119b3565b6106fc5760016106fe565b5f5b60ff169998505050505050505050565b6001600160c01b0381165f9081525f516020611a935f395f51905f5260208190526040808320546001600160401b03169084901b67ffffffffffffffff1916176104ff565b333014610773576040516348f5c3ed60e01b815260040160405180910390fd5b6001600160a01b0381165f8181527f1581abf533ae210f1ff5d25f322511179a9a65d8d8e43c998eab264f924af9016020526040808220805460ff19169055517fe1434e25d6611e0db941968fdc97811c982ac1602e951637d206f5fdda9dd8f19190a250565b3330146107fa576040516348f5c3ed60e01b815260040160405180910390fd5b6001600160a01b0381165f8181527f1581abf533ae210f1ff5d25f322511179a9a65d8d8e43c998eab264f924af9016020526040808220805460ff19166001179055517fe366c1c0452ed8eec96861e9e54141ebff23c9ec89fe27b996b45f5ec38849879190a250565b600f60f81b6060805f8080836108b9604080518082018252601081526f23b2b630ba37a232b632b3b0ba34b7b760811b60208083019190915282518084019093526005835264302e302e3160d81b9083015291565b97989097965046955030945091925090565b33734337084d9e255ff0702461cf8895ce9e3b5ff108146108ff576040516348f5c3ed60e01b815260040160405180910390fd5b365f61091161065a606086018661183e565b9150915061091f8282610c16565b825c6001600160a01b0381161561097f57806001600160a01b031663e2778fd96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610968575f5ffd5b505af115801561097a573d5f5f3e3d5ffd5b505050505b5050505050565b3330146109a6576040516348f5c3ed60e01b815260040160405180910390fd5b604081811c5f8181525f516020611a935f395f51905f52602052919091205482906001600160401b0390811690821681106109f457604051633ab3447f60e11b815260040160405180910390fd5b80820361ffff6001600160401b0382161115610a2357604051631269ad1360e11b815260040160405180910390fd5b50506001600160c01b03919091165f9081525f516020611a935f395f51905f5260205260409020805467ffffffffffffffff19166001600160401b0390921691909117905550565b5f81600881901b603082901b600160f81b6001600160f81b03198416141580610a9d57506001600160f81b0319821615155b15610aac57505f949350505050565b6001600160e01b0319811615801590610ad657506001600160e01b03198116637821000160e01b14155b15610ae557505f949350505050565b506001949350505050565b610afc8383835f610d07565b505050565b610afc8383836001610d07565b5f823560208401356040850135831a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610b5e576040516317e97eb760e31b815260040160405180910390fd5b604080515f808252602082018084528a905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015610baf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610be357604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b0316301493505050509392505050565b813560601c9260149092019160131990910190565b80825d5050565b5f5b81811015610afc5736838383818110610c3357610c336119d2565b9050602002810190610c4591906119e6565b90505f80610c56602084018461152c565b6001600160a01b031614610c7657610c71602083018361152c565b610c78565b305b90505f806001600160a01b0383166020850135610c98604087018761183e565b604051610ca6929190611a04565b5f6040518083038185875af1925050503d805f8114610ce0576040519150601f19603f3d011682016040523d82523d5f602084013e610ce5565b606091505b509150915081610cf757805160208201fd5b505060019092019150610c189050565b83600881901b603082901b600160f81b6001600160f81b03198416141580610d3857506001600160f81b0319821615155b15610d5657604051637f18127560e01b815260040160405180910390fd5b853586016020810190356001600160e01b03198316610d9d57333014610d8e576040516282b42960e81b815260040160405180910390fd5b610d988282610c16565b61097a565b6387deffff60e01b6001600160e01b0319841601610f9e5760208881013589019081019080359060380160171982015f610dda853560401c610fb7565b90505f610de98f89898561103a565b90506041839003610e3657610dff818585610b0e565b158015610e0a57508b155b15610e27576040516282b42960e81b815260040160405180910390fd5b610e318888610c16565b610f93565b5f365f610e438787610bfa565b925092509250610e5d5f516020611a935f395f51905f5290565b6001600160a01b0384165f908152600191909101602052604090205460ff16610e9957604051631a0a9b9f60e21b815260040160405180910390fd5b6040516302cd6e3760e21b81526001600160a01b03841690630b35b8dc90610ecf908e908e9033908a90899089906004016118a7565b6020604051808303815f875af1158015610eeb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0f91906119b3565b158015610f1a57508e155b15610f37576040516282b42960e81b815260040160405180910390fd5b610f418b8b610c16565b826001600160a01b031663e2778fd96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610f79575f5ffd5b505af1158015610f8b573d5f5f3e3d5ffd5b505050505050505b50505050505061097a565b604051637f18127560e01b815260040160405180910390fd5b6001600160c01b0381165f9081525f516020611a935f395f51905f526020526040812080546001600160401b031690819083610ff283611a13565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550506104ff83826001600160401b031660409190911b67ffffffffffffffff19161790565b5f80836001600160401b0381111561105457611054611a49565b60405190808252806020026020018201604052801561107d578160200160208202803683370190505b5090505f5b848110156111b7577f9085b19ea56248c94d86174b3784cfaaa8673d1041d6441f61ff52752dac84838686838181106110bd576110bd6119d2565b90506020028101906110cf91906119e6565b6110dd90602081019061152c565b8787848181106110ef576110ef6119d2565b905060200281019061110191906119e6565b60200135888885818110611117576111176119d2565b905060200281019061112991906119e6565b61113790604081019061183e565b604051611145929190611a04565b60405190819003812061117c949392916020019384526001600160a01b039290921660208401526040830152606082015260800190565b604051602081830303815290604052805190602001208282815181106111a4576111a46119d2565b6020908102919091010152600101611082565b505f7fdf21343e200fb58137ad2784f9ea58605ec77f388015dc495486275b8eec47da5f1b87836040516020016111ee9190611a5d565b60408051601f1981840301815282825280516020918201209083019490945281019190915260608101919091526080810185905260a00160405160208183030381529060405280519060200120905061124681611251565b979650505050505050565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f00000000000000000000000000000000000000000000000000000000000000004614166113445750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b6719010000000000005f5280601a5281603a52604260182090505f603a52919050565b6001600160e01b03198116811461137c575f5ffd5b50565b5f6020828403121561138f575f5ffd5b81356104ff81611367565b6001600160a01b038116811461137c575f5ffd5b5f5f83601f8401126113be575f5ffd5b5081356001600160401b038111156113d4575f5ffd5b6020830191508360208285010111156113eb575f5ffd5b9250929050565b5f5f5f5f5f60808688031215611406575f5ffd5b85356114118161139a565b945060208601356114218161139a565b93506040860135925060608601356001600160401b03811115611442575f5ffd5b61144e888289016113ae565b969995985093965092949392505050565b5f5f5f60408486031215611471575f5ffd5b8335925060208401356001600160401b0381111561148d575f5ffd5b611499868287016113ae565b9497909650939450505050565b5f61012082840312156114b7575f5ffd5b50919050565b5f5f5f606084860312156114cf575f5ffd5b83356001600160401b038111156114e4575f5ffd5b6114f0868287016114a6565b9660208601359650604090950135949350505050565b5f60208284031215611516575f5ffd5b81356001600160c01b03811681146104ff575f5ffd5b5f6020828403121561153c575f5ffd5b81356104ff8161139a565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60ff60f81b8816815260e060208201525f61159360e0830189611547565b82810360408401526115a58189611547565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156115fa5783518352602093840193909201916001016115dc565b50909b9a5050505050505050505050565b5f5f6040838503121561161c575f5ffd5b82356001600160401b03811115611631575f5ffd5b61163d858286016114a6565b95602094909401359450505050565b5f6020828403121561165c575f5ffd5b5035919050565b5f5f83601f840112611673575f5ffd5b5081356001600160401b03811115611689575f5ffd5b6020830191508360208260051b85010111156113eb575f5ffd5b5f5f5f5f5f5f5f5f60a0898b0312156116ba575f5ffd5b88356116c58161139a565b975060208901356116d58161139a565b965060408901356001600160401b038111156116ef575f5ffd5b6116fb8b828c01611663565b90975095505060608901356001600160401b03811115611719575f5ffd5b6117258b828c01611663565b90955093505060808901356001600160401b03811115611743575f5ffd5b61174f8b828c016113ae565b999c989b5096995094979396929594505050565b5f5f5f5f5f5f60a08789031215611778575f5ffd5b86356117838161139a565b955060208701356117938161139a565b9450604087013593506060870135925060808701356001600160401b038111156117bb575f5ffd5b6117c789828a016113ae565b979a9699509497509295939492505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b838152604060208201525f61181a6040830184866117d9565b95945050505050565b5f60208284031215611833575f5ffd5b81516104ff81611367565b5f5f8335601e19843603018112611853575f5ffd5b8301803591506001600160401b0382111561186c575f5ffd5b6020019150368190038213156113eb575f5ffd5b5f5f8585111561188e575f5ffd5b8386111561189a575f5ffd5b5050820193919092039150565b608080825281018690525f60a0600588901b830181019083018983605e1936839003015b8b82101561197a57868503609f1901845282358181126118e9575f5ffd5b8d0180356118f68161139a565b6001600160a01b0316865260208181013590870152604081013536829003601e19018112611922575f5ffd5b016020810190356001600160401b0381111561193c575f5ffd5b80360382131561194a575f5ffd5b6060604088015261195f6060880182846117d9565b965050506020830192506020840193506001820191506118cb565b5050506001600160a01b03881660208501525085604084015282810360608401526119a68185876117d9565b9998505050505050505050565b5f602082840312156119c3575f5ffd5b815180151581146104ff575f5ffd5b634e487b7160e01b5f52603260045260245ffd5b5f8235605e198336030181126119fa575f5ffd5b9190910192915050565b818382375f9101908152919050565b5f6001600160401b0382166001600160401b038103611a4057634e487b7160e01b5f52601160045260245ffd5b60010192915050565b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015611a87578151845260209384019390910190600101611a69565b50919594505050505056fe1581abf533ae210f1ff5d25f322511179a9a65d8d8e43c998eab264f924af900';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
|
|
3
|
+
export const GELATO_DELEGATION_ADDRESS: Address = '0x5aF42746a8Af42d8a4708dF238C53F1F71abF0E0';
|
|
4
|
+
|
|
5
|
+
export const GELATO_DELEGATION_NAME = 'GelatoDelegation';
|
|
6
|
+
|
|
7
|
+
export const GELATO_DELEGATION_VERSION = '0.0.1';
|
|
8
|
+
|
|
9
|
+
export const STUB_SIGNATURE =
|
|
10
|
+
'0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c';
|
|
11
|
+
|
|
12
|
+
export const EXECUTION_MODE_OP_DATA =
|
|
13
|
+
'0x0100000000007821000100000000000000000000000000000000000000000000';
|