@polymarket/relayer-client 1.0.10 → 1.0.13
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/builder/proxy.js +1 -0
- package/dist/client.js +1 -1
- package/dist/examples/deploySafe.d.ts +1 -0
- package/dist/examples/deploySafe.js +30 -0
- package/dist/examples/deploySafe.js.map +1 -0
- package/dist/examples/getAddress.d.ts +1 -0
- package/dist/examples/getAddress.js +23 -0
- package/dist/examples/getAddress.js.map +1 -0
- package/dist/examples/getNonce.d.ts +1 -0
- package/dist/examples/getNonce.js +27 -0
- package/dist/examples/getNonce.js.map +1 -0
- package/dist/examples/getRelayPayload.d.ts +1 -0
- package/dist/examples/getRelayPayload.js +27 -0
- package/dist/examples/getRelayPayload.js.map +1 -0
- package/dist/examples/getTransaction.d.ts +1 -0
- package/dist/examples/getTransaction.js +23 -0
- package/dist/examples/getTransaction.js.map +1 -0
- package/dist/examples/getTransactions.d.ts +1 -0
- package/dist/examples/getTransactions.js +23 -0
- package/dist/examples/getTransactions.js.map +1 -0
- package/dist/examples/poll.d.ts +1 -0
- package/dist/examples/poll.js +26 -0
- package/dist/examples/poll.js.map +1 -0
- package/dist/examples/proxyExecute.d.ts +1 -0
- package/dist/examples/proxyExecute.js +45 -0
- package/dist/examples/proxyExecute.js.map +1 -0
- package/dist/examples/safeExecute.d.ts +1 -0
- package/dist/examples/safeExecute.js +45 -0
- package/dist/examples/safeExecute.js.map +1 -0
- package/dist/examples/safeExecuteFail.d.ts +1 -0
- package/dist/examples/safeExecuteFail.js +55 -0
- package/dist/examples/safeExecuteFail.js.map +1 -0
- package/dist/examples/safeExecuteManual.d.ts +1 -0
- package/dist/examples/safeExecuteManual.js +45 -0
- package/dist/examples/safeExecuteManual.js.map +1 -0
- package/dist/src/abis/erc20Abi.d.ts +38 -0
- package/dist/src/abis/erc20Abi.js +226 -0
- package/dist/src/abis/erc20Abi.js.map +1 -0
- package/dist/src/abis/index.d.ts +5 -0
- package/dist/src/abis/index.js +9 -0
- package/dist/src/abis/index.js.map +1 -0
- package/dist/src/abis/multisend.d.ts +13 -0
- package/dist/src/abis/multisend.js +21 -0
- package/dist/src/abis/multisend.js.map +1 -0
- package/dist/src/abis/proxyFactory.d.ts +66 -0
- package/dist/src/abis/proxyFactory.js +323 -0
- package/dist/src/abis/proxyFactory.js.map +1 -0
- package/dist/src/abis/safe.d.ts +35 -0
- package/dist/src/abis/safe.js +1142 -0
- package/dist/src/abis/safe.js.map +1 -0
- package/dist/src/abis/safeFactory.d.ts +60 -0
- package/dist/src/abis/safeFactory.js +228 -0
- package/dist/src/abis/safeFactory.js.map +1 -0
- package/dist/src/auth/handler.d.ts +15 -0
- package/dist/src/auth/handler.js +50 -0
- package/dist/src/auth/handler.js.map +1 -0
- package/dist/src/auth/index.d.ts +1 -0
- package/dist/src/auth/index.js +5 -0
- package/dist/src/auth/index.js.map +1 -0
- package/dist/src/builder/create.d.ts +3 -0
- package/dist/src/builder/create.js +56 -0
- package/dist/src/builder/create.js.map +1 -0
- package/dist/src/builder/index.d.ts +4 -0
- package/dist/src/builder/index.js +8 -0
- package/dist/src/builder/index.js.map +1 -0
- package/dist/src/builder/proxy.d.ts +3 -0
- package/dist/src/builder/proxy.js +94 -0
- package/dist/src/builder/proxy.js.map +1 -0
- package/dist/src/builder/safe.d.ts +4 -0
- package/dist/src/builder/safe.js +131 -0
- package/dist/src/builder/safe.js.map +1 -0
- package/dist/src/builder/utils.d.ts +2 -0
- package/dist/src/builder/utils.js +14 -0
- package/dist/src/builder/utils.js.map +1 -0
- package/dist/src/client.d.ts +37 -0
- package/dist/src/client.js +187 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/constants/index.d.ts +7 -0
- package/dist/src/constants/index.js +11 -0
- package/dist/src/constants/index.js.map +1 -0
- package/dist/src/encode/index.d.ts +3 -0
- package/dist/src/encode/index.js +7 -0
- package/dist/src/encode/index.js.map +1 -0
- package/dist/src/encode/proxy.d.ts +2 -0
- package/dist/src/encode/proxy.js +11 -0
- package/dist/src/encode/proxy.js.map +1 -0
- package/dist/src/encode/safe.d.ts +2 -0
- package/dist/src/encode/safe.js +22 -0
- package/dist/src/encode/safe.js.map +1 -0
- package/dist/src/encode/utils.d.ts +6 -0
- package/dist/src/encode/utils.js +48 -0
- package/dist/src/encode/utils.js.map +1 -0
- package/dist/src/endpoints.d.ts +5 -0
- package/dist/src/endpoints.js +9 -0
- package/dist/src/endpoints.js.map +1 -0
- package/dist/src/http-helpers/index.d.ts +10 -0
- package/dist/src/http-helpers/index.js +54 -0
- package/dist/src/http-helpers/index.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/manual/index.d.ts +5 -0
- package/dist/src/manual/index.js +33 -0
- package/dist/src/manual/index.js.map +1 -0
- package/dist/src/response/index.d.ts +2 -0
- package/dist/src/response/index.js +6 -0
- package/dist/src/response/index.js.map +1 -0
- package/dist/src/response/relayer.d.ts +12 -0
- package/dist/src/response/relayer.js +29 -0
- package/dist/src/response/relayer.js.map +1 -0
- package/dist/src/response/viem.d.ts +8 -0
- package/dist/src/response/viem.js +20 -0
- package/dist/src/response/viem.js.map +1 -0
- package/dist/src/signeradapter/adapter.d.ts +20 -0
- package/dist/src/signeradapter/adapter.js +176 -0
- package/dist/src/signeradapter/adapter.js.map +1 -0
- package/dist/src/signeradapter/index.d.ts +2 -0
- package/dist/src/signeradapter/index.js +6 -0
- package/dist/src/signeradapter/index.js.map +1 -0
- package/dist/src/signeradapter/interfaces.d.ts +8 -0
- package/dist/src/signeradapter/interfaces.js +3 -0
- package/dist/src/signeradapter/interfaces.js.map +1 -0
- package/dist/src/types.d.ts +127 -0
- package/dist/src/types.js +32 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.js +8 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpClient = exports.PUT = exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
|
+
exports.GET = "GET";
|
|
7
|
+
exports.POST = "POST";
|
|
8
|
+
exports.DELETE = "DELETE";
|
|
9
|
+
exports.PUT = "PUT";
|
|
10
|
+
class HttpClient {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.instance = axios_1.default.create({ withCredentials: true });
|
|
13
|
+
}
|
|
14
|
+
send(endpoint, method, headers, data, params) {
|
|
15
|
+
var _a, _b, _c;
|
|
16
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
if (headers != undefined) {
|
|
18
|
+
headers["Access-Control-Allow-Credentials"] = true;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const resp = yield this.instance.request({
|
|
22
|
+
method,
|
|
23
|
+
url: endpoint,
|
|
24
|
+
headers,
|
|
25
|
+
data,
|
|
26
|
+
params
|
|
27
|
+
});
|
|
28
|
+
return resp;
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
if (axios_1.default.isAxiosError(err)) {
|
|
32
|
+
if (err.response) {
|
|
33
|
+
const errPayload = {
|
|
34
|
+
error: "request error",
|
|
35
|
+
status: (_a = err.response) === null || _a === void 0 ? void 0 : _a.status,
|
|
36
|
+
statusText: (_b = err.response) === null || _b === void 0 ? void 0 : _b.statusText,
|
|
37
|
+
data: (_c = err.response) === null || _c === void 0 ? void 0 : _c.data,
|
|
38
|
+
};
|
|
39
|
+
console.error("request error", errPayload);
|
|
40
|
+
throw new Error(JSON.stringify(errPayload));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const errPayload = { error: "connection error" };
|
|
44
|
+
console.error("connection error", errPayload);
|
|
45
|
+
throw new Error(JSON.stringify(errPayload));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
throw new Error(JSON.stringify({ error: err }));
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.HttpClient = HttpClient;
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-helpers/index.ts"],"names":[],"mappings":";;;;AAAA,0DAAoE;AAEvD,QAAA,GAAG,GAAG,KAAK,CAAC;AACZ,QAAA,IAAI,GAAG,MAAM,CAAC;AACd,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,GAAG,GAAG,KAAK,CAAC;AAEzB,MAAa,UAAU;IAInB;QACI,IAAI,CAAC,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;IAC1D,CAAC;IAEY,IAAI,CACb,QAAgB,EAChB,MAAc,EACd,OAAa,EACb,IAAU,EACV,MAAY;;;YAEZ,IAAI,OAAO,IAAI,SAAS,EAAE;gBACtB,OAAO,CAAC,kCAAkC,CAAC,GAAG,IAAI,CAAC;aACtD;YAED,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACpC;oBACI,MAAM;oBACN,GAAG,EAAE,QAAQ;oBACb,OAAO;oBACP,IAAI;oBACJ,MAAM;iBACT,CACJ,CAAC;gBACF,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,eAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;oBACzB,IAAI,GAAG,CAAC,QAAQ,EAAE;wBACd,MAAM,UAAU,GAAG;4BACf,KAAK,EAAE,eAAe;4BACtB,MAAM,EAAE,MAAA,GAAG,CAAC,QAAQ,0CAAE,MAAM;4BAC5B,UAAU,EAAE,MAAA,GAAG,CAAC,QAAQ,0CAAE,UAAU;4BACpC,IAAI,EAAE,MAAA,GAAG,CAAC,QAAQ,0CAAE,IAAI;yBAC3B,CAAC;wBACF,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;wBAC3C,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;qBAC/C;yBAAM;wBACH,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;wBACjD,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;wBAC9C,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;qBAC/C;iBACJ;gBACD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aACnD;;KACJ;CACJ;AAlDD,gCAkDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,kDAAwB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TransactionResponse } from "@ethersproject/abstract-provider";
|
|
2
|
+
import { SafeTransaction, ManualOverrides } from "../types";
|
|
3
|
+
import { SignerAdapter } from "../signeradapter";
|
|
4
|
+
import { ViemTransactionResponse } from "../response";
|
|
5
|
+
export declare function executeManualTransactions(signer: SignerAdapter, transactions: SafeTransaction[], overrides: ManualOverrides): Promise<TransactionResponse | ViemTransactionResponse>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeManualTransactions = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
const builder_1 = require("../builder");
|
|
7
|
+
const encode_1 = require("../encode");
|
|
8
|
+
const abis_1 = require("../abis");
|
|
9
|
+
function executeManualTransactions(signer, transactions, overrides) {
|
|
10
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
11
|
+
const from = yield signer.getAddress();
|
|
12
|
+
const aggTxn = builder_1.aggregateTransaction(transactions);
|
|
13
|
+
const sig = encode_1.abiEncodePacked({ type: "uint256", value: from }, // r
|
|
14
|
+
{ type: "uint256", value: 0 }, // s
|
|
15
|
+
{ type: "uint8", value: 1 });
|
|
16
|
+
const safeAddress = builder_1.deriveSafe(from);
|
|
17
|
+
const args = [
|
|
18
|
+
aggTxn.to,
|
|
19
|
+
aggTxn.value,
|
|
20
|
+
aggTxn.data,
|
|
21
|
+
aggTxn.operation,
|
|
22
|
+
0,
|
|
23
|
+
0,
|
|
24
|
+
0,
|
|
25
|
+
ethers_1.ethers.constants.AddressZero,
|
|
26
|
+
ethers_1.ethers.constants.AddressZero,
|
|
27
|
+
sig,
|
|
28
|
+
];
|
|
29
|
+
return signer.writeContract(safeAddress, abis_1.safeAbi, overrides, "execTransaction", args);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
exports.executeManualTransactions = executeManualTransactions;
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/manual/index.ts"],"names":[],"mappings":";;;;AACA,mCAAgC;AAGhC,wCAA8D;AAC9D,sCAA4C;AAC5C,kCAAkC;AAKlC,SAAsB,yBAAyB,CAC3C,MAAqB,EACrB,YAA+B,EAC/B,SAA0B;;QAG1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,8BAAoB,CAAC,YAAY,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,wBAAe,CACvB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI;QACtC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAC9B,CAAC;QAEF,MAAM,WAAW,GAAG,oBAAU,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG;YACT,MAAM,CAAC,EAAE;YACT,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,SAAS;YAChB,CAAC;YACD,CAAC;YACD,CAAC;YACD,eAAM,CAAC,SAAS,CAAC,WAAW;YAC5B,eAAM,CAAC,SAAS,CAAC,WAAW;YAC5B,GAAG;SACK,CAAC;QAGb,OAAO,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,cAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;CAAA;AAhCD,8DAgCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/response/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,iDAAuB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RelayClient } from "../client";
|
|
2
|
+
import { RelayerTransaction, RelayerTransactionResponse } from "../types";
|
|
3
|
+
export declare class ClientRelayerTransactionResponse implements RelayerTransactionResponse {
|
|
4
|
+
readonly client: RelayClient;
|
|
5
|
+
readonly transactionID: string;
|
|
6
|
+
readonly transactionHash: string;
|
|
7
|
+
readonly hash: string;
|
|
8
|
+
readonly state: string;
|
|
9
|
+
constructor(transactionID: string, state: string, transactionHash: string, client: RelayClient);
|
|
10
|
+
getTransaction(): Promise<RelayerTransaction[]>;
|
|
11
|
+
wait(): Promise<RelayerTransaction | undefined>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientRelayerTransactionResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
class ClientRelayerTransactionResponse {
|
|
7
|
+
constructor(transactionID, state, transactionHash, client) {
|
|
8
|
+
this.transactionID = transactionID;
|
|
9
|
+
this.state = state;
|
|
10
|
+
this.transactionHash = transactionHash;
|
|
11
|
+
this.hash = transactionHash;
|
|
12
|
+
this.client = client;
|
|
13
|
+
}
|
|
14
|
+
getTransaction() {
|
|
15
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
return this.client.getTransaction(this.transactionID);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
wait() {
|
|
20
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
return this.client.pollUntilState(this.transactionID, [
|
|
22
|
+
types_1.RelayerTransactionState.STATE_MINED,
|
|
23
|
+
types_1.RelayerTransactionState.STATE_CONFIRMED,
|
|
24
|
+
], 30);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.ClientRelayerTransactionResponse = ClientRelayerTransactionResponse;
|
|
29
|
+
//# sourceMappingURL=relayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayer.js","sourceRoot":"","sources":["../../../src/response/relayer.ts"],"names":[],"mappings":";;;;AACA,oCAAmG;AAGnG,MAAa,gCAAgC;IAQzC,YAAY,aAAqB,EAAE,KAAa,EAAE,eAAuB,EAAE,MAAmB;QAC1F,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEY,cAAc;;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEY,IAAI;;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAC7B,IAAI,CAAC,aAAa,EAClB;gBACI,+BAAuB,CAAC,WAAW;gBACnC,+BAAuB,CAAC,eAAe;aAC1C,EACD,EAAE,CACL,CAAC;QACN,CAAC;KAAA;CACJ;AA9BD,4EA8BC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PublicClient, TransactionReceipt } from "viem";
|
|
2
|
+
export declare class ViemTransactionResponse {
|
|
3
|
+
readonly publicClient: PublicClient;
|
|
4
|
+
readonly transactionHash: string;
|
|
5
|
+
readonly hash: string;
|
|
6
|
+
constructor(transactionHash: string, publicClient: PublicClient);
|
|
7
|
+
wait(): Promise<TransactionReceipt>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ViemTransactionResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
class ViemTransactionResponse {
|
|
6
|
+
constructor(transactionHash, publicClient) {
|
|
7
|
+
this.transactionHash = transactionHash;
|
|
8
|
+
this.hash = transactionHash;
|
|
9
|
+
this.publicClient = publicClient;
|
|
10
|
+
}
|
|
11
|
+
wait() {
|
|
12
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
|
+
return this.publicClient.waitForTransactionReceipt({
|
|
14
|
+
hash: this.hash,
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.ViemTransactionResponse = ViemTransactionResponse;
|
|
20
|
+
//# sourceMappingURL=viem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viem.js","sourceRoot":"","sources":["../../../src/response/viem.ts"],"names":[],"mappings":";;;;AAGA,MAAa,uBAAuB;IAMhC,YAAY,eAAuB,EAAE,YAA0B;QAC3D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAEY,IAAI;;YACb,OAAO,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;gBAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;QACT,CAAC;KAAA;CACJ;AAjBD,0DAiBC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Provider, TransactionResponse as EthersTransactionResponse } from "@ethersproject/providers";
|
|
2
|
+
import { ManualOverrides } from "../types";
|
|
3
|
+
import { EthersSigner, ViemSigner } from "./interfaces";
|
|
4
|
+
import { ViemTransactionResponse } from "../response";
|
|
5
|
+
export declare class SignerAdapter {
|
|
6
|
+
readonly ethersSigner?: EthersSigner;
|
|
7
|
+
readonly viemSigner?: ViemSigner;
|
|
8
|
+
constructor(ethersSigner?: EthersSigner, viemSigner?: ViemSigner);
|
|
9
|
+
getAddress(): Promise<string>;
|
|
10
|
+
ethersSignMessage(message: string): Promise<string>;
|
|
11
|
+
viemSignMessage(message: string): Promise<string>;
|
|
12
|
+
ethersSignTypedData(domain: any, types: any, values: any): Promise<string>;
|
|
13
|
+
viemSignTypedData(domain: any, types: any, values: any): Promise<string>;
|
|
14
|
+
signMessage(message: string): Promise<string>;
|
|
15
|
+
signTypedData(domain: any, types: any, values: any): Promise<string>;
|
|
16
|
+
getProvider(): Promise<Provider>;
|
|
17
|
+
writeContract(address: string, abi: any, overrides: ManualOverrides, functionName: string, ...args: any[]): Promise<EthersTransactionResponse | ViemTransactionResponse>;
|
|
18
|
+
private ethersWriteContract;
|
|
19
|
+
private viemWriteContract;
|
|
20
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SignerAdapter = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const providers_1 = require("@ethersproject/providers");
|
|
6
|
+
const ethers_1 = require("ethers");
|
|
7
|
+
const response_1 = require("../response");
|
|
8
|
+
class SignerAdapter {
|
|
9
|
+
constructor(ethersSigner, viemSigner) {
|
|
10
|
+
if (ethersSigner == undefined && viemSigner == undefined) {
|
|
11
|
+
throw new Error("must provide an ethers signer OR viem WalletClient");
|
|
12
|
+
}
|
|
13
|
+
if (ethersSigner != undefined && viemSigner != undefined) {
|
|
14
|
+
throw new Error("must provide an ethers signer OR viem WalletClient");
|
|
15
|
+
}
|
|
16
|
+
if (ethersSigner != undefined) {
|
|
17
|
+
if (ethersSigner.provider == undefined) {
|
|
18
|
+
throw new Error("signer must have provider attached");
|
|
19
|
+
}
|
|
20
|
+
this.ethersSigner = ethersSigner;
|
|
21
|
+
}
|
|
22
|
+
if (viemSigner != undefined) {
|
|
23
|
+
if (viemSigner.publicClient == undefined) {
|
|
24
|
+
throw new Error("viem signer must have public client");
|
|
25
|
+
}
|
|
26
|
+
if (viemSigner.walletClient == undefined) {
|
|
27
|
+
throw new Error("viem signer must have wallet client");
|
|
28
|
+
}
|
|
29
|
+
this.viemSigner = viemSigner;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
getAddress() {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
if (this.ethersSigner != undefined) {
|
|
36
|
+
return this.ethersSigner.getAddress();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return ((_b = (_a = this.viemSigner) === null || _a === void 0 ? void 0 : _a.walletClient.account) === null || _b === void 0 ? void 0 : _b.address) || "";
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
ethersSignMessage(message) {
|
|
44
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
if (this.ethersSigner == undefined) {
|
|
46
|
+
throw new Error("must provide an ethers Wallet or Signer");
|
|
47
|
+
}
|
|
48
|
+
return this.ethersSigner.signMessage(ethers_1.ethers.utils.arrayify(message));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
viemSignMessage(message) {
|
|
52
|
+
var _a, _b, _c;
|
|
53
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
if (this.viemSigner == undefined) {
|
|
55
|
+
throw new Error("must provide viem WalletClient");
|
|
56
|
+
}
|
|
57
|
+
const account = (_b = (_a = this.viemSigner) === null || _a === void 0 ? void 0 : _a.walletClient.account) === null || _b === void 0 ? void 0 : _b.address;
|
|
58
|
+
return (_c = this.viemSigner) === null || _c === void 0 ? void 0 : _c.walletClient.signMessage({
|
|
59
|
+
account: account,
|
|
60
|
+
message: message.slice(0, 2) == "0x" ? { raw: message } : message,
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
ethersSignTypedData(domain, types, values) {
|
|
65
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
if (this.ethersSigner == undefined) {
|
|
67
|
+
throw new Error("ethers signer must be present");
|
|
68
|
+
}
|
|
69
|
+
return this.ethersSigner._signTypedData(domain, types, values);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
viemSignTypedData(domain, types, values) {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
if (this.viemSigner == undefined) {
|
|
76
|
+
throw new Error("viem signer must be present");
|
|
77
|
+
}
|
|
78
|
+
const account = (_b = (_a = this.viemSigner) === null || _a === void 0 ? void 0 : _a.walletClient.account) === null || _b === void 0 ? void 0 : _b.address;
|
|
79
|
+
const keys = Object.keys(types);
|
|
80
|
+
if (keys.length > 1) {
|
|
81
|
+
throw new Error("multiple types in types array");
|
|
82
|
+
}
|
|
83
|
+
const primaryType = keys[0];
|
|
84
|
+
return this.viemSigner.walletClient.signTypedData({ account, domain, types, primaryType, message: values });
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
signMessage(message) {
|
|
88
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
if (this.ethersSigner != undefined) {
|
|
90
|
+
return this.ethersSignMessage(message);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
return this.viemSignMessage(message);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
signTypedData(domain, types, values) {
|
|
98
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
if (this.ethersSigner != undefined) {
|
|
100
|
+
return this.ethersSignTypedData(domain, types, values);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return this.viemSignTypedData(domain, types, values);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
getProvider() {
|
|
108
|
+
var _a, _b;
|
|
109
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
if (this.ethersSigner != undefined) {
|
|
111
|
+
return this.ethersSigner.provider;
|
|
112
|
+
}
|
|
113
|
+
const chain = (_a = this.viemSigner) === null || _a === void 0 ? void 0 : _a.publicClient.chain;
|
|
114
|
+
const transport = (_b = this.viemSigner) === null || _b === void 0 ? void 0 : _b.publicClient.transport;
|
|
115
|
+
const network = {
|
|
116
|
+
chainId: (chain === null || chain === void 0 ? void 0 : chain.id) || 137,
|
|
117
|
+
name: (chain === null || chain === void 0 ? void 0 : chain.name) || "",
|
|
118
|
+
};
|
|
119
|
+
return new providers_1.JsonRpcProvider(transport === null || transport === void 0 ? void 0 : transport.url, network);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
writeContract(address, abi, overrides, functionName, ...args) {
|
|
123
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
if (this.ethersSigner != undefined) {
|
|
125
|
+
return this.ethersWriteContract(address, abi, overrides, functionName, args);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
return this.viemWriteContract(address, abi, overrides, functionName, args);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
ethersWriteContract(address, abi, overrides, functionName, ...args) {
|
|
133
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
134
|
+
if (this.ethersSigner != undefined) {
|
|
135
|
+
throw new Error("ethers signer must be defined");
|
|
136
|
+
}
|
|
137
|
+
const contract = new ethers_1.Contract(address, abi, this.ethersSigner);
|
|
138
|
+
if (overrides.gasLimit == undefined) {
|
|
139
|
+
const gasLimit = yield contract.estimateGas[functionName](...args);
|
|
140
|
+
console.log(`Estimated gas Limit: ${gasLimit}`);
|
|
141
|
+
overrides.gasLimit = gasLimit;
|
|
142
|
+
}
|
|
143
|
+
const argsWithOverrides = args.map(a => a);
|
|
144
|
+
argsWithOverrides.push(overrides);
|
|
145
|
+
return contract.functions[functionName](...argsWithOverrides);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
viemWriteContract(address, abi, overrides, functionName, ...args) {
|
|
149
|
+
var _a, _b;
|
|
150
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
if (this.viemSigner == undefined) {
|
|
152
|
+
throw new Error("viem signer must be defined");
|
|
153
|
+
}
|
|
154
|
+
const account = (_b = (_a = this.viemSigner) === null || _a === void 0 ? void 0 : _a.walletClient.account) === null || _b === void 0 ? void 0 : _b.address;
|
|
155
|
+
const writeArgs = {
|
|
156
|
+
account: account,
|
|
157
|
+
address: address,
|
|
158
|
+
abi: abi,
|
|
159
|
+
functionName: functionName,
|
|
160
|
+
args: args,
|
|
161
|
+
};
|
|
162
|
+
if (overrides.gasLimit != undefined) {
|
|
163
|
+
let gasLimit = ethers_1.ethers.BigNumber.from(overrides.gasLimit).toBigInt();
|
|
164
|
+
writeArgs.gasLimit = gasLimit;
|
|
165
|
+
}
|
|
166
|
+
if (overrides.gasPrice != undefined) {
|
|
167
|
+
let gasPrice = ethers_1.ethers.BigNumber.from(overrides.gasPrice).toBigInt();
|
|
168
|
+
writeArgs.gasPrice = gasPrice;
|
|
169
|
+
}
|
|
170
|
+
const txnHash = yield this.viemSigner.walletClient.writeContract(writeArgs);
|
|
171
|
+
return new response_1.ViemTransactionResponse(txnHash, this.viemSigner.publicClient);
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
exports.SignerAdapter = SignerAdapter;
|
|
176
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/signeradapter/adapter.ts"],"names":[],"mappings":";;;;AAAA,wDAAuH;AACvH,mCAA4D;AAG5D,0CAAqD;AAGrD,MAAa,aAAa;IAItB,YAAY,YAA2B,EAAE,UAAuB;QAC5D,IAAI,YAAY,IAAI,SAAS,IAAI,UAAU,IAAI,SAAS,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;SACxE;QAED,IAAI,YAAY,IAAI,SAAS,IAAI,UAAU,IAAI,SAAS,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;SACxE;QAED,IAAI,YAAY,IAAI,SAAS,EAAE;YAC3B,IAAG,YAAY,CAAC,QAAQ,IAAI,SAAS,EAAE;gBACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;aACxD;YACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SACpC;QAED,IAAI,UAAU,IAAI,SAAS,EAAE;YACzB,IAAI,UAAU,CAAC,YAAY,IAAI,SAAS,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,IAAI,UAAU,CAAC,YAAY,IAAI,SAAS,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAChC;IACL,CAAC;IAEK,UAAU;;;YACZ,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;aACzC;iBAAM;gBACH,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAC,OAAO,0CAAE,OAAO,KAAI,EAAE,CAAC;aAC/D;;KACJ;IAEK,iBAAiB,CAAC,OAAe;;YACnC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;aAC7D;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,eAAe,CAAC,OAAe;;;YACjC,IAAG,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;aACrD;YAED,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAC,OAAO,0CAAE,OAAO,CAAC;YAC/D,OAAO,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAC,WAAW,CAAC;gBAC7C,OAAO,EAAE,OAAc;gBACvB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAwB,EAAE,CAAC,CAAC,CAAC,OAAO;aACrF,CAAC,CAAC;;KACN;IAEK,mBAAmB,CAAC,MAAW,EAAE,KAAU,EAAE,MAAW;;YAC1D,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aACpD;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;KAAA;IAEK,iBAAiB,CAAC,MAAW,EAAE,KAAU,EAAE,MAAW;;;YACxD,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAClD;YACD,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAC,OAAO,0CAAE,OAAwB,CAAC;YAEhF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aACpD;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;;KAC7G;IAEK,WAAW,CAAC,OAAe;;YAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;aAC1C;iBAAM;gBACH,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aACxC;QACL,CAAC;KAAA;IAEK,aAAa,CAAC,MAAW,EAAE,KAAU,EAAE,MAAW;;YACpD,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;aAC1D;iBAAM;gBACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;aACxD;QACL,CAAC;KAAA;IAEK,WAAW;;;YACb,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;aACrC;YAED,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAC,KAAK,CAAC;YAClD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAC,SAAS,CAAC;YAE1D,MAAM,OAAO,GAAG;gBACZ,OAAO,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,KAAI,GAAG;gBACzB,IAAI,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,EAAE;aAC1B,CAAC;YACF,OAAO,IAAI,2BAAe,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,EAAE,OAAO,CAAC,CAAA;;KACtD;IAEK,aAAa,CAAC,OAAe,EAAE,GAAQ,EAAE,SAA0B,EAAE,YAAoB,EAAE,GAAG,IAAW;;YAC3G,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;aAChF;iBAAM;gBACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;aAC9E;QAEL,CAAC;KAAA;IAEa,mBAAmB,CAAC,OAAe,EAAE,GAAQ,EAAE,SAA0B,EAAE,YAAoB,EAAE,GAAG,IAAW;;YACzH,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aACpD;YACD,MAAM,QAAQ,GAAG,IAAI,iBAAc,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAErE,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,EAAE;gBACjC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;gBAChD,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;aAChC;YACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAElC,OAAO,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC;QAClE,CAAC;KAAA;IAEa,iBAAiB,CAAC,OAAe,EAAE,GAAQ,EAAE,SAA0B,EAAE,YAAoB,EAAE,GAAG,IAAW;;;YACvH,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAClD;YACD,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAC,OAAO,0CAAE,OAAwB,CAAC;YAEhF,MAAM,SAAS,GAQX;gBACA,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAE,GAAG;gBACR,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,IAAI;aACb,CAAC;YAEF,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,EAAE;gBACjC,IAAI,QAAQ,GAAG,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpE,SAAS,CAAC,QAAQ,GAAE,QAAQ,CAAC;aAChC;YACD,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,EAAE;gBACjC,IAAI,QAAQ,GAAG,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpE,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;aACjC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAE5E,OAAO,IAAI,kCAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;;KAC7E;CACJ;AA3KD,sCA2KC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/signeradapter/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,uDAA6B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { JsonRpcSigner } from "@ethersproject/providers";
|
|
2
|
+
import { Wallet } from "ethers";
|
|
3
|
+
import { PublicClient, WalletClient } from "viem";
|
|
4
|
+
export interface ViemSigner {
|
|
5
|
+
walletClient: WalletClient;
|
|
6
|
+
publicClient: PublicClient;
|
|
7
|
+
}
|
|
8
|
+
export declare type EthersSigner = Wallet | JsonRpcSigner;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/signeradapter/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { BigNumberish } from "ethers";
|
|
2
|
+
export declare enum TransactionType {
|
|
3
|
+
PROXY = "PROXY",
|
|
4
|
+
SAFE = "SAFE",
|
|
5
|
+
SAFE_CREATE = "SAFE-CREATE"
|
|
6
|
+
}
|
|
7
|
+
export interface SignatureParams {
|
|
8
|
+
gasPrice?: string;
|
|
9
|
+
relayerFee?: string;
|
|
10
|
+
gasLimit?: string;
|
|
11
|
+
relayHub?: string;
|
|
12
|
+
relay?: string;
|
|
13
|
+
operation?: string;
|
|
14
|
+
safeTxnGas?: string;
|
|
15
|
+
baseGas?: string;
|
|
16
|
+
gasToken?: string;
|
|
17
|
+
refundReceiver?: string;
|
|
18
|
+
paymentToken?: string;
|
|
19
|
+
payment?: string;
|
|
20
|
+
paymentReceiver?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface AddressPayload {
|
|
23
|
+
address: string;
|
|
24
|
+
}
|
|
25
|
+
export interface NoncePayload {
|
|
26
|
+
nonce: string;
|
|
27
|
+
}
|
|
28
|
+
export interface RelayPayload {
|
|
29
|
+
address: string;
|
|
30
|
+
nonce: string;
|
|
31
|
+
}
|
|
32
|
+
export interface TransactionRequest {
|
|
33
|
+
type: string;
|
|
34
|
+
from: string;
|
|
35
|
+
to: string;
|
|
36
|
+
proxyWallet?: string;
|
|
37
|
+
data: string;
|
|
38
|
+
nonce?: string;
|
|
39
|
+
signature: string;
|
|
40
|
+
signatureParams: SignatureParams;
|
|
41
|
+
metadata?: string;
|
|
42
|
+
}
|
|
43
|
+
export declare enum CallType {
|
|
44
|
+
Invalid = "0",
|
|
45
|
+
Call = "1",
|
|
46
|
+
DelegateCall = "2"
|
|
47
|
+
}
|
|
48
|
+
export interface ProxyTransaction {
|
|
49
|
+
to: string;
|
|
50
|
+
typeCode: CallType;
|
|
51
|
+
data: string;
|
|
52
|
+
value: string;
|
|
53
|
+
}
|
|
54
|
+
export declare enum OperationType {
|
|
55
|
+
Call = 0,
|
|
56
|
+
DelegateCall = 1
|
|
57
|
+
}
|
|
58
|
+
export interface SafeTransaction {
|
|
59
|
+
to: string;
|
|
60
|
+
operation: OperationType;
|
|
61
|
+
data: string;
|
|
62
|
+
value: string;
|
|
63
|
+
}
|
|
64
|
+
export interface ProxyTransactionArgs {
|
|
65
|
+
from: string;
|
|
66
|
+
nonce: string;
|
|
67
|
+
gasPrice: string;
|
|
68
|
+
data: string;
|
|
69
|
+
relay: string;
|
|
70
|
+
}
|
|
71
|
+
export interface SafeTransactionArgs {
|
|
72
|
+
from: string;
|
|
73
|
+
nonce: string;
|
|
74
|
+
chainId: number;
|
|
75
|
+
transactions: SafeTransaction[];
|
|
76
|
+
}
|
|
77
|
+
export interface SafeCreateTransactionArgs {
|
|
78
|
+
from: string;
|
|
79
|
+
chainId: number;
|
|
80
|
+
paymentToken: string;
|
|
81
|
+
payment: string;
|
|
82
|
+
paymentReceiver: string;
|
|
83
|
+
}
|
|
84
|
+
export declare enum RelayerTransactionState {
|
|
85
|
+
STATE_NEW = "STATE_NEW",
|
|
86
|
+
STATE_EXECUTED = "STATE_EXECUTED",
|
|
87
|
+
STATE_MINED = "STATE_MINED",
|
|
88
|
+
STATE_INVALID = "STATE_INVALID",
|
|
89
|
+
STATE_CONFIRMED = "STATE_CONFIRMED",
|
|
90
|
+
STATE_FAILED = "STATE_FAILED"
|
|
91
|
+
}
|
|
92
|
+
export interface RelayerSubRequest {
|
|
93
|
+
address: string;
|
|
94
|
+
transactions: string[];
|
|
95
|
+
cookies?: string;
|
|
96
|
+
}
|
|
97
|
+
export interface AuthArgs {
|
|
98
|
+
authUrl: string;
|
|
99
|
+
authToken: string;
|
|
100
|
+
}
|
|
101
|
+
export interface RelayerTransaction {
|
|
102
|
+
transactionID: string;
|
|
103
|
+
transactionHash: string;
|
|
104
|
+
from: string;
|
|
105
|
+
to: string;
|
|
106
|
+
proxyAddress: string;
|
|
107
|
+
data: string;
|
|
108
|
+
nonce: string;
|
|
109
|
+
value: string;
|
|
110
|
+
state: string;
|
|
111
|
+
type: string;
|
|
112
|
+
metadata: string;
|
|
113
|
+
createdAt: Date;
|
|
114
|
+
updatedAt: Date;
|
|
115
|
+
}
|
|
116
|
+
export interface RelayerTransactionResponse {
|
|
117
|
+
transactionID: string;
|
|
118
|
+
state: string;
|
|
119
|
+
hash: string;
|
|
120
|
+
transactionHash: string;
|
|
121
|
+
getTransaction: () => Promise<RelayerTransaction[]>;
|
|
122
|
+
wait: () => Promise<RelayerTransaction | undefined>;
|
|
123
|
+
}
|
|
124
|
+
export interface ManualOverrides {
|
|
125
|
+
gasLimit?: BigNumberish;
|
|
126
|
+
gasPrice?: BigNumberish;
|
|
127
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RelayerTransactionState = exports.OperationType = exports.CallType = exports.TransactionType = void 0;
|
|
4
|
+
var TransactionType;
|
|
5
|
+
(function (TransactionType) {
|
|
6
|
+
TransactionType["PROXY"] = "PROXY";
|
|
7
|
+
TransactionType["SAFE"] = "SAFE";
|
|
8
|
+
TransactionType["SAFE_CREATE"] = "SAFE-CREATE";
|
|
9
|
+
})(TransactionType = exports.TransactionType || (exports.TransactionType = {}));
|
|
10
|
+
var CallType;
|
|
11
|
+
(function (CallType) {
|
|
12
|
+
CallType["Invalid"] = "0";
|
|
13
|
+
CallType["Call"] = "1";
|
|
14
|
+
CallType["DelegateCall"] = "2";
|
|
15
|
+
})(CallType = exports.CallType || (exports.CallType = {}));
|
|
16
|
+
// Safe Transactions
|
|
17
|
+
var OperationType;
|
|
18
|
+
(function (OperationType) {
|
|
19
|
+
OperationType[OperationType["Call"] = 0] = "Call";
|
|
20
|
+
OperationType[OperationType["DelegateCall"] = 1] = "DelegateCall";
|
|
21
|
+
})(OperationType = exports.OperationType || (exports.OperationType = {}));
|
|
22
|
+
var RelayerTransactionState;
|
|
23
|
+
(function (RelayerTransactionState) {
|
|
24
|
+
RelayerTransactionState["STATE_NEW"] = "STATE_NEW";
|
|
25
|
+
RelayerTransactionState["STATE_EXECUTED"] = "STATE_EXECUTED";
|
|
26
|
+
RelayerTransactionState["STATE_MINED"] = "STATE_MINED";
|
|
27
|
+
RelayerTransactionState["STATE_INVALID"] = "STATE_INVALID";
|
|
28
|
+
RelayerTransactionState["STATE_CONFIRMED"] = "STATE_CONFIRMED";
|
|
29
|
+
RelayerTransactionState["STATE_FAILED"] = "STATE_FAILED";
|
|
30
|
+
})(RelayerTransactionState = exports.RelayerTransactionState || (exports.RelayerTransactionState = {}));
|
|
31
|
+
;
|
|
32
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,8CAA2B,CAAA;AAC/B,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B;AAqDD,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,sBAAU,CAAA;IACV,8BAAkB,CAAA;AACtB,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AASD,oBAAoB;AACpB,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,iDAAI,CAAA;IACJ,iEAAY,CAAA;AAChB,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB;AAgCD,IAAY,uBAOX;AAPD,WAAY,uBAAuB;IAC/B,kDAA6B,CAAA;IAChC,4DAAkC,CAAA;IAC/B,sDAA+B,CAAA;IAClC,0DAAiC,CAAA;IACjC,8DAAmC,CAAA;IACnC,wDAAgC,CAAA;AACjC,CAAC,EAPW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAOlC;AAyCA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function sleep(ms: number): Promise<unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAEA,SAAgB,KAAK,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAE,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAE,CAAC;AAC7D,CAAC;AAFD,sBAEC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -116,6 +116,7 @@ export interface RelayerTransaction {
|
|
|
116
116
|
export interface RelayerTransactionResponse {
|
|
117
117
|
transactionID: string;
|
|
118
118
|
state: string;
|
|
119
|
+
hash: string;
|
|
119
120
|
transactionHash: string;
|
|
120
121
|
getTransaction: () => Promise<RelayerTransaction[]>;
|
|
121
122
|
wait: () => Promise<RelayerTransaction | undefined>;
|