@safe-global/relay-kit 3.4.0 → 3.4.1-alpha.1
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/cjs/src/index.cjs +1323 -0
- package/dist/cjs/test-utils/index.cjs +1171 -0
- package/dist/esm/src/index.mjs +1326 -0
- package/dist/esm/test-utils/index.mjs +1172 -0
- package/dist/src/RelayKitBasePack.d.ts +1 -0
- package/dist/src/RelayKitBasePack.d.ts.map +1 -0
- package/dist/src/constants.d.ts +1 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/deprecated.d.ts +1 -0
- package/dist/src/deprecated.d.ts.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/packs/gelato/GelatoRelayPack.d.ts +1 -0
- package/dist/src/packs/gelato/GelatoRelayPack.d.ts.map +1 -0
- package/dist/src/packs/gelato/types.d.ts +1 -0
- package/dist/src/packs/gelato/types.d.ts.map +1 -0
- package/dist/src/packs/safe-4337/Safe4337Pack.d.ts +1 -0
- package/dist/src/packs/safe-4337/Safe4337Pack.d.ts.map +1 -0
- package/dist/src/packs/safe-4337/SafeOperation.d.ts +1 -0
- package/dist/src/packs/safe-4337/SafeOperation.d.ts.map +1 -0
- package/dist/src/packs/safe-4337/constants.d.ts +1 -0
- package/dist/src/packs/safe-4337/constants.d.ts.map +1 -0
- package/dist/src/packs/safe-4337/estimators/PimlicoFeeEstimator.d.ts +1 -0
- package/dist/src/packs/safe-4337/estimators/PimlicoFeeEstimator.d.ts.map +1 -0
- package/dist/src/packs/safe-4337/estimators/index.d.ts +1 -0
- package/dist/src/packs/safe-4337/estimators/index.d.ts.map +1 -0
- package/dist/src/packs/safe-4337/types.d.ts +1 -0
- package/dist/src/packs/safe-4337/types.d.ts.map +1 -0
- package/dist/src/packs/safe-4337/utils/entrypoint.d.ts +1 -0
- package/dist/src/packs/safe-4337/utils/entrypoint.d.ts.map +1 -0
- package/dist/src/packs/safe-4337/utils/getRelayKitVersion.d.ts +1 -0
- package/dist/src/packs/safe-4337/utils/getRelayKitVersion.d.ts.map +1 -0
- package/dist/src/packs/safe-4337/utils.d.ts +1 -0
- package/dist/src/packs/safe-4337/utils.d.ts.map +1 -0
- package/dist/{src/packs/safe-4337/testing-utils → test-utils}/fixtures.d.ts +1 -0
- package/dist/test-utils/fixtures.d.ts.map +1 -0
- package/dist/{src/packs/safe-4337/testing-utils → test-utils}/helpers.d.ts +3 -2
- package/dist/test-utils/helpers.d.ts.map +1 -0
- package/dist/test-utils/index.d.ts +4 -0
- package/dist/test-utils/index.d.ts.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +23 -6
- package/dist/src/RelayKitBasePack.js +0 -26
- package/dist/src/RelayKitBasePack.js.map +0 -1
- package/dist/src/constants.js +0 -12
- package/dist/src/constants.js.map +0 -1
- package/dist/src/deprecated.js +0 -3
- package/dist/src/deprecated.js.map +0 -1
- package/dist/src/index.js +0 -30
- package/dist/src/index.js.map +0 -1
- package/dist/src/packs/gelato/GelatoRelayPack.js +0 -327
- package/dist/src/packs/gelato/GelatoRelayPack.js.map +0 -1
- package/dist/src/packs/gelato/types.js +0 -3
- package/dist/src/packs/gelato/types.js.map +0 -1
- package/dist/src/packs/safe-4337/Safe4337Pack.js +0 -644
- package/dist/src/packs/safe-4337/Safe4337Pack.js.map +0 -1
- package/dist/src/packs/safe-4337/SafeOperation.js +0 -68
- package/dist/src/packs/safe-4337/SafeOperation.js.map +0 -1
- package/dist/src/packs/safe-4337/constants.js +0 -55
- package/dist/src/packs/safe-4337/constants.js.map +0 -1
- package/dist/src/packs/safe-4337/estimators/PimlicoFeeEstimator.js +0 -49
- package/dist/src/packs/safe-4337/estimators/PimlicoFeeEstimator.js.map +0 -1
- package/dist/src/packs/safe-4337/estimators/index.js +0 -6
- package/dist/src/packs/safe-4337/estimators/index.js.map +0 -1
- package/dist/src/packs/safe-4337/testing-utils/fixtures.js +0 -128
- package/dist/src/packs/safe-4337/testing-utils/fixtures.js.map +0 -1
- package/dist/src/packs/safe-4337/testing-utils/helpers.js +0 -58
- package/dist/src/packs/safe-4337/testing-utils/helpers.js.map +0 -1
- package/dist/src/packs/safe-4337/types.js +0 -3
- package/dist/src/packs/safe-4337/types.js.map +0 -1
- package/dist/src/packs/safe-4337/utils/entrypoint.js +0 -23
- package/dist/src/packs/safe-4337/utils/entrypoint.js.map +0 -1
- package/dist/src/packs/safe-4337/utils/getRelayKitVersion.js +0 -6
- package/dist/src/packs/safe-4337/utils/getRelayKitVersion.js.map +0 -1
- package/dist/src/packs/safe-4337/utils.js +0 -190
- package/dist/src/packs/safe-4337/utils.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@safe-global/relay-kit",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.1-alpha.1",
|
|
4
4
|
"description": "SDK for Safe Smart Accounts with support for ERC-4337 and Relay",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
5
|
+
"types": "dist/src/index.d.ts",
|
|
6
|
+
"main": "dist/cjs/src/index.js",
|
|
7
|
+
"module": "dist/esm/src/index.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/src/index.d.ts",
|
|
11
|
+
"require": "./dist/cjs/src/index.cjs",
|
|
12
|
+
"import": "./dist/esm/src/index.mjs"
|
|
13
|
+
},
|
|
14
|
+
"./test-utils": {
|
|
15
|
+
"types": "./dist/test-utils/index.d.ts",
|
|
16
|
+
"require": "./dist/cjs/test-utils/index.cjs",
|
|
17
|
+
"import": "./dist/esm/test-utils/index.mjs"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
7
20
|
"keywords": [
|
|
8
21
|
"Ethereum",
|
|
9
22
|
"Wallet",
|
|
@@ -20,7 +33,10 @@
|
|
|
20
33
|
"format": "prettier --write \"*/**/*.{js,json,md,ts}\"",
|
|
21
34
|
"unbuild": "rimraf dist .nyc_output cache",
|
|
22
35
|
"prebuild": "node -p \"'export const getRelayKitVersion = () => \\'' + require('./package.json').version.split('-')[0] + '\\''\" > src/packs/safe-4337/utils/getRelayKitVersion.ts",
|
|
23
|
-
"build": "yarn unbuild &&
|
|
36
|
+
"build": "yarn unbuild && yarn build:esm && yarn build:cjs && yarn build:types",
|
|
37
|
+
"build:esm": "esbuild ./src/index ./test-utils/index --format=esm --bundle --metafile=meta-esm.json --packages=external --outdir=dist/esm --out-extension:.js=.mjs",
|
|
38
|
+
"build:cjs": "esbuild ./src/index ./test-utils/index --format=cjs --bundle --metafile=meta-cjs.json --packages=external --outdir=dist/cjs --out-extension:.js=.cjs",
|
|
39
|
+
"build:types": "NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json --declaration --declarationMap --emitDeclarationOnly && tsc-alias -p tsconfig.build.json"
|
|
24
40
|
},
|
|
25
41
|
"repository": {
|
|
26
42
|
"type": "git",
|
|
@@ -40,9 +56,10 @@
|
|
|
40
56
|
},
|
|
41
57
|
"dependencies": {
|
|
42
58
|
"@gelatonetwork/relay-sdk": "^5.5.0",
|
|
43
|
-
"@safe-global/protocol-kit": "^5.2.0",
|
|
59
|
+
"@safe-global/protocol-kit": "^5.2.1-alpha.0",
|
|
44
60
|
"@safe-global/safe-modules-deployments": "^2.2.4",
|
|
45
|
-
"@safe-global/types-kit": "^1.0.
|
|
61
|
+
"@safe-global/types-kit": "^1.0.2-alpha.0",
|
|
62
|
+
"semver": "^7.6.3",
|
|
46
63
|
"viem": "^2.21.8"
|
|
47
64
|
}
|
|
48
65
|
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RelayKitBasePack = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Abstract class. The base class for all RelayKit packs.
|
|
6
|
-
* It provides the Safe SDK instance and the abstract methods to be implemented by the packs.
|
|
7
|
-
* @abstract
|
|
8
|
-
* @template EstimateFeeProps
|
|
9
|
-
* @template EstimateFeeResult
|
|
10
|
-
* @template CreateTransactionProps
|
|
11
|
-
* @template CreateTransactionResult,
|
|
12
|
-
* @template ExecuteTransactionProps
|
|
13
|
-
* @template ExecuteTransactionResult
|
|
14
|
-
*/
|
|
15
|
-
class RelayKitBasePack {
|
|
16
|
-
/**
|
|
17
|
-
* Creates a new RelayKitBasePack instance.
|
|
18
|
-
* The packs implemented using our SDK should extend this class and therefore provide a Safe SDK instance
|
|
19
|
-
* @param {Safe} protocolKit - The Safe SDK instance
|
|
20
|
-
*/
|
|
21
|
-
constructor(protocolKit) {
|
|
22
|
-
this.protocolKit = protocolKit;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.RelayKitBasePack = RelayKitBasePack;
|
|
26
|
-
//# sourceMappingURL=RelayKitBasePack.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RelayKitBasePack.js","sourceRoot":"","sources":["../../src/RelayKitBasePack.ts"],"names":[],"mappings":";;;AAqBA;;;;;;;;;;GAUG;AACH,MAAsB,gBAAgB;IAQpC;;;;OAIG;IACH,YAAY,WAAiB;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CA6BF;AA5CD,4CA4CC"}
|
package/dist/src/constants.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GELATO_TRANSFER_GAS_COST = exports.GELATO_GAS_EXECUTION_OVERHEAD = exports.ZERO_ADDRESS = exports.GELATO_RELAY_URL = exports.GELATO_FEE_COLLECTOR = exports.GELATO_NATIVE_TOKEN_ADDRESS = void 0;
|
|
4
|
-
exports.GELATO_NATIVE_TOKEN_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
|
5
|
-
exports.GELATO_FEE_COLLECTOR = '0x3AC05161b76a35c1c28dC99Aa01BEd7B24cEA3bf';
|
|
6
|
-
exports.GELATO_RELAY_URL = 'https://relay.gelato.digital';
|
|
7
|
-
exports.ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
8
|
-
// see: https://docs.gelato.network/developer-services/relay/quick-start/optional-parameters#optional-parameters
|
|
9
|
-
exports.GELATO_GAS_EXECUTION_OVERHEAD = 150000;
|
|
10
|
-
// gas cost of the separate ERC20 transfer to pay the fees to the Gelato relayer
|
|
11
|
-
exports.GELATO_TRANSFER_GAS_COST = 15000;
|
|
12
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAG,4CAA4C,CAAA;AAE1E,QAAA,oBAAoB,GAAG,4CAA4C,CAAA;AAEnE,QAAA,gBAAgB,GAAG,8BAA8B,CAAA;AAEjD,QAAA,YAAY,GAAG,4CAA4C,CAAA;AAExE,gHAAgH;AACnG,QAAA,6BAA6B,GAAG,MAAO,CAAA;AAEpD,gFAAgF;AACnE,QAAA,wBAAwB,GAAG,KAAM,CAAA"}
|
package/dist/src/deprecated.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../src/deprecated.ts"],"names":[],"mappings":""}
|
package/dist/src/index.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.EthSafeOperation = void 0;
|
|
21
|
-
__exportStar(require("./deprecated"), exports);
|
|
22
|
-
__exportStar(require("./packs/gelato/GelatoRelayPack"), exports);
|
|
23
|
-
__exportStar(require("./packs/gelato/types"), exports);
|
|
24
|
-
__exportStar(require("./packs/safe-4337/Safe4337Pack"), exports);
|
|
25
|
-
var SafeOperation_1 = require("./packs/safe-4337/SafeOperation");
|
|
26
|
-
Object.defineProperty(exports, "EthSafeOperation", { enumerable: true, get: function () { return __importDefault(SafeOperation_1).default; } });
|
|
27
|
-
__exportStar(require("./packs/safe-4337/estimators"), exports);
|
|
28
|
-
__exportStar(require("./packs/safe-4337/types"), exports);
|
|
29
|
-
__exportStar(require("./RelayKitBasePack"), exports);
|
|
30
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,+CAA4B;AAE5B,iEAA8C;AAC9C,uDAAoC;AAEpC,iEAA8C;AAC9C,iEAA6E;AAApE,kIAAA,OAAO,OAAoB;AAEpC,+DAA4C;AAC5C,0DAAuC;AAEvC,qDAAkC"}
|
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _GelatoRelayPack_gelatoRelay, _GelatoRelayPack_apiKey;
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.GelatoRelayPack = void 0;
|
|
16
|
-
const relay_sdk_1 = require("@gelatonetwork/relay-sdk");
|
|
17
|
-
const protocol_kit_1 = require("@safe-global/protocol-kit");
|
|
18
|
-
const RelayKitBasePack_1 = require("../../RelayKitBasePack");
|
|
19
|
-
const constants_1 = require("../../constants");
|
|
20
|
-
class GelatoRelayPack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
21
|
-
constructor({ apiKey, protocolKit }) {
|
|
22
|
-
super(protocolKit);
|
|
23
|
-
_GelatoRelayPack_gelatoRelay.set(this, void 0);
|
|
24
|
-
_GelatoRelayPack_apiKey.set(this, void 0);
|
|
25
|
-
__classPrivateFieldSet(this, _GelatoRelayPack_gelatoRelay, new relay_sdk_1.GelatoRelay(), "f");
|
|
26
|
-
__classPrivateFieldSet(this, _GelatoRelayPack_apiKey, apiKey, "f");
|
|
27
|
-
}
|
|
28
|
-
_getFeeToken(gasToken) {
|
|
29
|
-
return !gasToken || gasToken === constants_1.ZERO_ADDRESS ? constants_1.GELATO_NATIVE_TOKEN_ADDRESS : gasToken;
|
|
30
|
-
}
|
|
31
|
-
getFeeCollector() {
|
|
32
|
-
return constants_1.GELATO_FEE_COLLECTOR;
|
|
33
|
-
}
|
|
34
|
-
async getEstimateFee(propsOrChainId, inputGasLimit, inputGasToken) {
|
|
35
|
-
let chainId;
|
|
36
|
-
let gasLimit;
|
|
37
|
-
let gasToken;
|
|
38
|
-
if (typeof propsOrChainId === 'object') {
|
|
39
|
-
;
|
|
40
|
-
({ chainId, gasLimit, gasToken } = propsOrChainId);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
chainId = propsOrChainId;
|
|
44
|
-
gasLimit = inputGasLimit;
|
|
45
|
-
gasToken = inputGasToken;
|
|
46
|
-
}
|
|
47
|
-
const feeToken = this._getFeeToken(gasToken);
|
|
48
|
-
const estimation = await __classPrivateFieldGet(this, _GelatoRelayPack_gelatoRelay, "f").getEstimatedFee(chainId, feeToken, BigInt(gasLimit), false);
|
|
49
|
-
return estimation.toString();
|
|
50
|
-
}
|
|
51
|
-
async getTaskStatus(taskId) {
|
|
52
|
-
return __classPrivateFieldGet(this, _GelatoRelayPack_gelatoRelay, "f").getTaskStatus(taskId);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Creates a payment transaction to Gelato
|
|
56
|
-
*
|
|
57
|
-
* @private
|
|
58
|
-
* @async
|
|
59
|
-
* @function
|
|
60
|
-
* @param {string} gas - The gas amount for the payment.
|
|
61
|
-
* @param {MetaTransactionOptions} options - Options for the meta transaction.
|
|
62
|
-
* @returns {Promise<Transaction>} Promise object representing the created payment transaction.
|
|
63
|
-
*
|
|
64
|
-
*/
|
|
65
|
-
async createPaymentToGelato(gas, options) {
|
|
66
|
-
const chainId = await this.protocolKit.getChainId();
|
|
67
|
-
const gelatoAddress = this.getFeeCollector();
|
|
68
|
-
const gasToken = options.gasToken ?? constants_1.ZERO_ADDRESS;
|
|
69
|
-
const paymentToGelato = await this.getEstimateFee({ chainId, gasLimit: gas, gasToken });
|
|
70
|
-
// The Gelato payment transaction
|
|
71
|
-
const transferToGelato = (0, protocol_kit_1.createERC20TokenTransferTransaction)(gasToken, gelatoAddress, paymentToGelato);
|
|
72
|
-
return transferToGelato;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* @deprecated Use createTransaction instead
|
|
76
|
-
*/
|
|
77
|
-
async createRelayedTransaction({ transactions, onlyCalls = false, options = {} }) {
|
|
78
|
-
return this.createTransaction({ transactions, onlyCalls, options });
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Creates a Safe transaction designed to be executed using the Gelato Relayer.
|
|
82
|
-
*
|
|
83
|
-
* @param {GelatoCreateTransactionProps} options - Options for Gelato.
|
|
84
|
-
* @param {MetaTransactionData[]} [options.transactions] - The transactions batch.
|
|
85
|
-
* @param {boolean} [options.onlyCalls=false] - If true, MultiSendCallOnly contract should be used. Remember to not use delegate calls in the batch.
|
|
86
|
-
* @param {MetaTransactionOptions} [options.options={}] - Gas Options for the transaction batch.
|
|
87
|
-
* @returns {Promise<SafeTransaction>} Returns a Promise that resolves with a SafeTransaction object.
|
|
88
|
-
*/
|
|
89
|
-
async createTransaction({ transactions, onlyCalls = false, options = {} }) {
|
|
90
|
-
const { isSponsored = false } = options;
|
|
91
|
-
if (isSponsored) {
|
|
92
|
-
const nonce = await this.protocolKit.getNonce();
|
|
93
|
-
const sponsoredTransaction = await this.protocolKit.createTransaction({
|
|
94
|
-
transactions,
|
|
95
|
-
onlyCalls,
|
|
96
|
-
options: {
|
|
97
|
-
nonce
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
return sponsoredTransaction;
|
|
101
|
-
}
|
|
102
|
-
// If the ERC20 gas token does not follow the standard 18 decimals, we cannot use handlePayment to pay Gelato fees.
|
|
103
|
-
const gasToken = options.gasToken ?? constants_1.ZERO_ADDRESS;
|
|
104
|
-
const isGasTokenCompatible = await (0, protocol_kit_1.isGasTokenCompatibleWithHandlePayment)(gasToken, this.protocolKit);
|
|
105
|
-
if (!isGasTokenCompatible) {
|
|
106
|
-
// if the ERC20 gas token is not compatible (less than 18 decimals like USDC), a separate transfer is required to pay Gelato fees.
|
|
107
|
-
return this.createTransactionWithTransfer({ transactions, onlyCalls, options });
|
|
108
|
-
}
|
|
109
|
-
// If the gas token is compatible (Native token or standard ERC20), we use handlePayment function present in the Safe contract to pay Gelato fees
|
|
110
|
-
return this.createTransactionWithHandlePayment({ transactions, onlyCalls, options });
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Creates a Safe transaction designed to be executed using the Gelato Relayer and
|
|
114
|
-
* uses the handlePayment function defined in the Safe contract to pay the fees
|
|
115
|
-
* to the Gelato relayer.
|
|
116
|
-
*
|
|
117
|
-
* @async
|
|
118
|
-
* @function createTransactionWithHandlePayment
|
|
119
|
-
* @param {GelatoCreateTransactionProps} options - Options for Gelato.
|
|
120
|
-
* @param {MetaTransactionData[]} [options.transactions] - The transactions batch.
|
|
121
|
-
* @param {boolean} [options.onlyCalls=false] - If true, MultiSendCallOnly contract should be used. Remember to not use delegate calls in the batch.
|
|
122
|
-
* @param {MetaTransactionOptions} [options.options={}] - Gas Options for the transaction batch.
|
|
123
|
-
* @returns {Promise<SafeTransaction>} Returns a promise that resolves to the created SafeTransaction.
|
|
124
|
-
* @private
|
|
125
|
-
*/
|
|
126
|
-
async createTransactionWithHandlePayment({ transactions, onlyCalls = false, options = {} }) {
|
|
127
|
-
const { gasLimit } = options;
|
|
128
|
-
const nonce = await this.protocolKit.getNonce();
|
|
129
|
-
// this transaction is only used for gas estimations
|
|
130
|
-
const transactionToEstimateGas = await this.protocolKit.createTransaction({
|
|
131
|
-
transactions,
|
|
132
|
-
onlyCalls,
|
|
133
|
-
options: {
|
|
134
|
-
nonce
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
// as we set gasPrice to 1, safeTxGas is set to a non-zero value to prevent transaction failure due to out-of-gas errors. value see: https://github.com/safe-global/safe-contracts/blob/main/contracts/Safe.sol#L203
|
|
138
|
-
const gasPrice = '1';
|
|
139
|
-
const safeTxGas = await (0, protocol_kit_1.estimateSafeTxGas)(this.protocolKit, transactionToEstimateGas);
|
|
140
|
-
const gasToken = options.gasToken ?? constants_1.ZERO_ADDRESS;
|
|
141
|
-
const refundReceiver = this.getFeeCollector();
|
|
142
|
-
const chainId = await this.protocolKit.getChainId();
|
|
143
|
-
// if a custom gasLimit is provided, we do not need to estimate the gas cost
|
|
144
|
-
if (gasLimit) {
|
|
145
|
-
const paymentToGelato = await this.getEstimateFee({ chainId, gasLimit, gasToken });
|
|
146
|
-
const syncTransaction = await this.protocolKit.createTransaction({
|
|
147
|
-
transactions,
|
|
148
|
-
onlyCalls,
|
|
149
|
-
options: {
|
|
150
|
-
baseGas: paymentToGelato,
|
|
151
|
-
gasPrice,
|
|
152
|
-
safeTxGas,
|
|
153
|
-
gasToken,
|
|
154
|
-
refundReceiver,
|
|
155
|
-
nonce
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
return syncTransaction;
|
|
159
|
-
}
|
|
160
|
-
// If gasLimit is not provided, we need to estimate the gas cost.
|
|
161
|
-
const baseGas = await (0, protocol_kit_1.estimateTxBaseGas)(this.protocolKit, transactionToEstimateGas);
|
|
162
|
-
const safeDeploymentGasCost = await (0, protocol_kit_1.estimateSafeDeploymentGas)(this.protocolKit);
|
|
163
|
-
const totalGas = Number(baseGas) + // baseGas
|
|
164
|
-
Number(safeTxGas) + // safeTxGas
|
|
165
|
-
Number(safeDeploymentGasCost) + // Safe deploymet gas cost if it is required
|
|
166
|
-
constants_1.GELATO_GAS_EXECUTION_OVERHEAD; // Gelato execution overhead
|
|
167
|
-
const paymentToGelato = await this.getEstimateFee({
|
|
168
|
-
chainId,
|
|
169
|
-
gasLimit: String(totalGas),
|
|
170
|
-
gasToken
|
|
171
|
-
});
|
|
172
|
-
const syncTransaction = await this.protocolKit.createTransaction({
|
|
173
|
-
transactions,
|
|
174
|
-
onlyCalls,
|
|
175
|
-
options: {
|
|
176
|
-
baseGas: paymentToGelato, // payment to Gelato
|
|
177
|
-
gasPrice,
|
|
178
|
-
safeTxGas,
|
|
179
|
-
gasToken,
|
|
180
|
-
refundReceiver,
|
|
181
|
-
nonce
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
return syncTransaction;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Creates a Safe transaction designed to be executed using the Gelato Relayer and
|
|
188
|
-
* uses a separate ERC20 transfer to pay the fees to the Gelato relayer.
|
|
189
|
-
*
|
|
190
|
-
* @async
|
|
191
|
-
* @function createTransactionWithTransfer
|
|
192
|
-
* @param {GelatoCreateTransactionProps} options - Options for Gelato.
|
|
193
|
-
* @param {MetaTransactionData[]} [options.transactions] - The transactions batch.
|
|
194
|
-
* @param {boolean} [options.onlyCalls=false] - If true, MultiSendCallOnly contract should be used. Remember to not use delegate calls in the batch.
|
|
195
|
-
* @param {MetaTransactionOptions} [options.options={}] - Gas Options for the transaction batch.
|
|
196
|
-
* @returns {Promise<SafeTransaction>} Returns a promise that resolves to the created SafeTransaction.
|
|
197
|
-
* @private
|
|
198
|
-
*/
|
|
199
|
-
async createTransactionWithTransfer({ transactions, onlyCalls = false, options = {} }) {
|
|
200
|
-
const { gasLimit } = options;
|
|
201
|
-
const nonce = await this.protocolKit.getNonce();
|
|
202
|
-
const gasToken = options.gasToken ?? constants_1.ZERO_ADDRESS;
|
|
203
|
-
// if a custom gasLimit is provided, we do not need to estimate the gas cost
|
|
204
|
-
if (gasLimit) {
|
|
205
|
-
const transferToGelato = await this.createPaymentToGelato(gasLimit, options);
|
|
206
|
-
const syncTransaction = await this.protocolKit.createTransaction({
|
|
207
|
-
transactions: [...transactions, transferToGelato],
|
|
208
|
-
onlyCalls,
|
|
209
|
-
options: {
|
|
210
|
-
nonce,
|
|
211
|
-
gasToken
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
return syncTransaction;
|
|
215
|
-
}
|
|
216
|
-
// If gasLimit is not provided, we need to estimate the gas cost.
|
|
217
|
-
// this transaction is only used for gas estimations
|
|
218
|
-
const transactionToEstimateGas = await this.protocolKit.createTransaction({
|
|
219
|
-
transactions,
|
|
220
|
-
onlyCalls,
|
|
221
|
-
options: {
|
|
222
|
-
nonce
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
const safeTxGas = await (0, protocol_kit_1.estimateSafeTxGas)(this.protocolKit, transactionToEstimateGas);
|
|
226
|
-
const baseGas = await (0, protocol_kit_1.estimateTxBaseGas)(this.protocolKit, transactionToEstimateGas);
|
|
227
|
-
const safeDeploymentGasCost = await (0, protocol_kit_1.estimateSafeDeploymentGas)(this.protocolKit);
|
|
228
|
-
const totalGas = Number(baseGas) + // baseGas
|
|
229
|
-
Number(safeTxGas) + // safeTxGas without Gelato payment transfer
|
|
230
|
-
Number(safeDeploymentGasCost) + // Safe deploymet gas cost if it is required
|
|
231
|
-
constants_1.GELATO_TRANSFER_GAS_COST + // Gelato payment transfer
|
|
232
|
-
constants_1.GELATO_GAS_EXECUTION_OVERHEAD; // Gelato execution overhead
|
|
233
|
-
const transferToGelato = await this.createPaymentToGelato(String(totalGas), options);
|
|
234
|
-
const syncTransaction = await this.protocolKit.createTransaction({
|
|
235
|
-
transactions: [...transactions, transferToGelato],
|
|
236
|
-
onlyCalls,
|
|
237
|
-
options: {
|
|
238
|
-
nonce,
|
|
239
|
-
gasToken
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
return syncTransaction;
|
|
243
|
-
}
|
|
244
|
-
async sendSponsorTransaction(target, encodedTransaction, chainId) {
|
|
245
|
-
if (!__classPrivateFieldGet(this, _GelatoRelayPack_apiKey, "f")) {
|
|
246
|
-
throw new Error('API key not defined');
|
|
247
|
-
}
|
|
248
|
-
const request = {
|
|
249
|
-
chainId,
|
|
250
|
-
target,
|
|
251
|
-
data: encodedTransaction
|
|
252
|
-
};
|
|
253
|
-
const response = await __classPrivateFieldGet(this, _GelatoRelayPack_gelatoRelay, "f").sponsoredCall(request, __classPrivateFieldGet(this, _GelatoRelayPack_apiKey, "f"));
|
|
254
|
-
return response;
|
|
255
|
-
}
|
|
256
|
-
async sendSyncTransaction(target, encodedTransaction, chainId, options) {
|
|
257
|
-
const { gasLimit, gasToken } = options;
|
|
258
|
-
const feeToken = this._getFeeToken(gasToken);
|
|
259
|
-
const request = {
|
|
260
|
-
chainId,
|
|
261
|
-
target,
|
|
262
|
-
data: encodedTransaction,
|
|
263
|
-
feeToken,
|
|
264
|
-
isRelayContext: false
|
|
265
|
-
};
|
|
266
|
-
const relayRequestOptions = {
|
|
267
|
-
gasLimit: gasLimit ? BigInt(gasLimit) : undefined
|
|
268
|
-
};
|
|
269
|
-
const response = await __classPrivateFieldGet(this, _GelatoRelayPack_gelatoRelay, "f").callWithSyncFee(request, relayRequestOptions);
|
|
270
|
-
return response;
|
|
271
|
-
}
|
|
272
|
-
async relayTransaction({ target, encodedTransaction, chainId, options = {} }) {
|
|
273
|
-
const response = options.isSponsored
|
|
274
|
-
? this.sendSponsorTransaction(target, encodedTransaction, chainId)
|
|
275
|
-
: this.sendSyncTransaction(target, encodedTransaction, chainId, options);
|
|
276
|
-
return response;
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* @deprecated Use executeTransaction instead
|
|
280
|
-
*/
|
|
281
|
-
async executeRelayTransaction(safeTransaction, options) {
|
|
282
|
-
return this.executeTransaction({ executable: safeTransaction, options });
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Sends the Safe transaction to the Gelato Relayer for execution.
|
|
286
|
-
* If the Safe is not deployed, it creates a batch of transactions including the Safe deployment transaction.
|
|
287
|
-
*
|
|
288
|
-
* @param {GelatoExecuteTransactionProps} props - Execution props
|
|
289
|
-
* @param {SafeTransaction} props.executable - The Safe transaction to be executed.
|
|
290
|
-
* @param {MetaTransactionOptions} props.options - Options for the transaction.
|
|
291
|
-
* @returns {Promise<RelayResponse>} Returns a Promise that resolves with a RelayResponse object.
|
|
292
|
-
*/
|
|
293
|
-
async executeTransaction({ executable: safeTransaction, options }) {
|
|
294
|
-
const isSafeDeployed = await this.protocolKit.isSafeDeployed();
|
|
295
|
-
const chainId = await this.protocolKit.getChainId();
|
|
296
|
-
const safeAddress = await this.protocolKit.getAddress();
|
|
297
|
-
const safeTransactionEncodedData = await this.protocolKit.getEncodedTransaction(safeTransaction);
|
|
298
|
-
const gasToken = options?.gasToken || safeTransaction.data.gasToken;
|
|
299
|
-
if (isSafeDeployed) {
|
|
300
|
-
const relayTransaction = {
|
|
301
|
-
target: safeAddress,
|
|
302
|
-
encodedTransaction: safeTransactionEncodedData,
|
|
303
|
-
chainId,
|
|
304
|
-
options: {
|
|
305
|
-
...options,
|
|
306
|
-
gasToken
|
|
307
|
-
}
|
|
308
|
-
};
|
|
309
|
-
return this.relayTransaction(relayTransaction);
|
|
310
|
-
}
|
|
311
|
-
// if the Safe is not deployed we create a batch with the Safe deployment transaction and the provided Safe transaction
|
|
312
|
-
const safeDeploymentBatch = await this.protocolKit.wrapSafeTransactionIntoDeploymentBatch(safeTransaction);
|
|
313
|
-
const relayTransaction = {
|
|
314
|
-
target: safeDeploymentBatch.to, // multiSend Contract address
|
|
315
|
-
encodedTransaction: safeDeploymentBatch.data,
|
|
316
|
-
chainId,
|
|
317
|
-
options: {
|
|
318
|
-
...options,
|
|
319
|
-
gasToken
|
|
320
|
-
}
|
|
321
|
-
};
|
|
322
|
-
return this.relayTransaction(relayTransaction);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
exports.GelatoRelayPack = GelatoRelayPack;
|
|
326
|
-
_GelatoRelayPack_gelatoRelay = new WeakMap(), _GelatoRelayPack_apiKey = new WeakMap();
|
|
327
|
-
//# sourceMappingURL=GelatoRelayPack.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GelatoRelayPack.js","sourceRoot":"","sources":["../../../../src/packs/gelato/GelatoRelayPack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/packs/gelato/types.ts"],"names":[],"mappings":""}
|