@funkit/core 2.0.1 → 2.1.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/index.js +11 -27
- package/dist/index.js.map +1 -1
- package/dist/src/abis/ApproveAndExec.json +45 -9
- package/dist/src/abis/ApproveAndSwap.json +141 -1
- package/dist/src/abis/CheckoutPaymaster.json +3358 -1
- package/dist/src/abis/EntryPoint.json +590 -113
- package/dist/src/abis/EstimationPaymaster.json +134 -24
- package/dist/src/abis/FeePercentOracle.json +94 -18
- package/dist/src/abis/FunWallet.json +280 -56
- package/dist/src/abis/FunWalletFactory.json +112 -21
- package/dist/src/abis/GaslessPaymaster.json +279 -50
- package/dist/src/abis/RoleBasedAccessControl.json +2 -1
- package/dist/src/abis/TestNFT.json +71 -15
- package/dist/src/abis/TokenPriceOracle.json +17 -4
- package/dist/src/abis/UserAuthentication.json +147 -32
- package/dist/src/actions/AccessControl.js +39 -48
- package/dist/src/actions/AccessControl.js.map +1 -1
- package/dist/src/actions/BatchActions.js +3 -7
- package/dist/src/actions/BatchActions.js.map +1 -1
- package/dist/src/actions/Bridge.js +16 -20
- package/dist/src/actions/Bridge.js.map +1 -1
- package/dist/src/actions/FirstClassActions.js +74 -77
- package/dist/src/actions/FirstClassActions.js.map +1 -1
- package/dist/src/actions/Group.js +14 -20
- package/dist/src/actions/Group.js.map +1 -1
- package/dist/src/actions/LimitOrder.js +18 -22
- package/dist/src/actions/LimitOrder.js.map +1 -1
- package/dist/src/actions/Stake.js +40 -43
- package/dist/src/actions/Stake.js.map +1 -1
- package/dist/src/actions/Swap.js +40 -46
- package/dist/src/actions/Swap.js.map +1 -1
- package/dist/src/actions/Token.js +41 -53
- package/dist/src/actions/Token.js.map +1 -1
- package/dist/src/actions/index.js +7 -23
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/actions/types.js +4 -7
- package/dist/src/actions/types.js.map +1 -1
- package/dist/src/apis/AccessControlApis.js +10 -16
- package/dist/src/apis/AccessControlApis.js.map +1 -1
- package/dist/src/apis/BridgeApis.js +14 -20
- package/dist/src/apis/BridgeApis.js.map +1 -1
- package/dist/src/apis/ContractApis.js +4 -7
- package/dist/src/apis/ContractApis.js.map +1 -1
- package/dist/src/apis/GroupApis.js +6 -10
- package/dist/src/apis/GroupApis.js.map +1 -1
- package/dist/src/apis/InfoApis.js +16 -23
- package/dist/src/apis/InfoApis.js.map +1 -1
- package/dist/src/apis/ListenerApis.js +9 -13
- package/dist/src/apis/ListenerApis.js.map +1 -1
- package/dist/src/apis/NFTApis.js +6 -10
- package/dist/src/apis/NFTApis.js.map +1 -1
- package/dist/src/apis/OperationApis.js +26 -40
- package/dist/src/apis/OperationApis.js.map +1 -1
- package/dist/src/apis/PaymasterApis.js +4 -7
- package/dist/src/apis/PaymasterApis.js.map +1 -1
- package/dist/src/apis/SwapApis.js +8 -13
- package/dist/src/apis/SwapApis.js.map +1 -1
- package/dist/src/apis/UserApis.js +20 -29
- package/dist/src/apis/UserApis.js.map +1 -1
- package/dist/src/apis/index.js +8 -24
- package/dist/src/apis/index.js.map +1 -1
- package/dist/src/apis/types.js +1 -2
- package/dist/src/auth/Auth.js +60 -76
- package/dist/src/auth/Auth.js.map +1 -1
- package/dist/src/auth/SessionKeyAuth.js +30 -33
- package/dist/src/auth/SessionKeyAuth.js.map +1 -1
- package/dist/src/auth/index.js +2 -18
- package/dist/src/auth/index.js.map +1 -1
- package/dist/src/auth/types.js +1 -2
- package/dist/src/common/constants.d.ts +141 -3
- package/dist/src/common/constants.js +211 -191
- package/dist/src/common/constants.js.map +1 -1
- package/dist/src/common/index.js +2 -18
- package/dist/src/common/index.js.map +1 -1
- package/dist/src/common/types.js +1 -2
- package/dist/src/config/Config.js +8 -13
- package/dist/src/config/Config.js.map +1 -1
- package/dist/src/config/index.js +2 -18
- package/dist/src/config/index.js.map +1 -1
- package/dist/src/config/types.js +1 -2
- package/dist/src/data/Chain.js +35 -33
- package/dist/src/data/Chain.js.map +1 -1
- package/dist/src/data/NFT.js +28 -31
- package/dist/src/data/NFT.js.map +1 -1
- package/dist/src/data/Operation.js +28 -11
- package/dist/src/data/Operation.js.map +1 -1
- package/dist/src/data/SolidityData.js +23 -30
- package/dist/src/data/SolidityData.js.map +1 -1
- package/dist/src/data/Token.js +21 -23
- package/dist/src/data/Token.js.map +1 -1
- package/dist/src/data/index.js +6 -22
- package/dist/src/data/index.js.map +1 -1
- package/dist/src/data/types.js +6 -9
- package/dist/src/data/types.js.map +1 -1
- package/dist/src/errors/BaseError.js +6 -5
- package/dist/src/errors/BaseError.js.map +1 -1
- package/dist/src/errors/ClientError.js +21 -34
- package/dist/src/errors/ClientError.js.map +1 -1
- package/dist/src/errors/ServerError.js +6 -11
- package/dist/src/errors/ServerError.js.map +1 -1
- package/dist/src/errors/index.js +4 -20
- package/dist/src/errors/index.js.map +1 -1
- package/dist/src/errors/types.js +6 -9
- package/dist/src/errors/types.js.map +1 -1
- package/dist/src/sponsors/CheckoutSponsor.js +10 -14
- package/dist/src/sponsors/CheckoutSponsor.js.map +1 -1
- package/dist/src/sponsors/GaslessSponsor.js +23 -27
- package/dist/src/sponsors/GaslessSponsor.js.map +1 -1
- package/dist/src/sponsors/Sponsor.js +10 -8
- package/dist/src/sponsors/Sponsor.js.map +1 -1
- package/dist/src/sponsors/TokenSponsor.js +79 -82
- package/dist/src/sponsors/TokenSponsor.js.map +1 -1
- package/dist/src/sponsors/index.js +4 -20
- package/dist/src/sponsors/index.js.map +1 -1
- package/dist/src/sponsors/types.js +2 -5
- package/dist/src/sponsors/types.js.map +1 -1
- package/dist/src/utils/ApiUtils.js +30 -38
- package/dist/src/utils/ApiUtils.js.map +1 -1
- package/dist/src/utils/AuthUtils.js +9 -14
- package/dist/src/utils/AuthUtils.js.map +1 -1
- package/dist/src/utils/ChainUtils.js +38 -49
- package/dist/src/utils/ChainUtils.js.map +1 -1
- package/dist/src/utils/CheckoutUtils.js +13 -18
- package/dist/src/utils/CheckoutUtils.js.map +1 -1
- package/dist/src/utils/GroupUtils.js +6 -9
- package/dist/src/utils/GroupUtils.js.map +1 -1
- package/dist/src/utils/MerkleUtils.js +34 -47
- package/dist/src/utils/MerkleUtils.js.map +1 -1
- package/dist/src/utils/PaymasterUtils.js +5 -9
- package/dist/src/utils/PaymasterUtils.js.map +1 -1
- package/dist/src/utils/SwapUtils.js +44 -43
- package/dist/src/utils/SwapUtils.js.map +1 -1
- package/dist/src/utils/TypeUtils.js +5 -9
- package/dist/src/utils/TypeUtils.js.map +1 -1
- package/dist/src/utils/UserOpUtils.js +20 -29
- package/dist/src/utils/UserOpUtils.js.map +1 -1
- package/dist/src/utils/ViemUtils.js +6 -12
- package/dist/src/utils/ViemUtils.js.map +1 -1
- package/dist/src/utils/WalletUtils.js +28 -42
- package/dist/src/utils/WalletUtils.js.map +1 -1
- package/dist/src/utils/index.js +8 -24
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/viem/ContractInterface.js +14 -18
- package/dist/src/viem/ContractInterface.js.map +1 -1
- package/dist/src/viem/Converter.js +15 -20
- package/dist/src/viem/Converter.js.map +1 -1
- package/dist/src/viem/index.js +2 -18
- package/dist/src/viem/index.js.map +1 -1
- package/dist/src/wallet/FunWallet.js +141 -142
- package/dist/src/wallet/FunWallet.js.map +1 -1
- package/dist/src/wallet/index.js +2 -18
- package/dist/src/wallet/index.js.map +1 -1
- package/dist/src/wallet/types.js +1 -2
- package/package.json +4 -2
|
@@ -1,70 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
const ChainUtils_1 = require("./ChainUtils");
|
|
9
|
-
const generateRandomBytes32 = () => {
|
|
10
|
-
return (0, viem_1.keccak256)((0, viem_1.toBytes)((0, uuid_1.v4)()));
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
import { keccak256, pad, toBytes } from 'viem';
|
|
3
|
+
import { FACTORY_CONTRACT_INTERFACE } from '../common';
|
|
4
|
+
import { AuthType, encodeLoginData, } from '../data';
|
|
5
|
+
import { randomBytes } from './ChainUtils';
|
|
6
|
+
export const generateRandomBytes32 = () => {
|
|
7
|
+
return keccak256(toBytes(uuidv4()));
|
|
11
8
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return (0, exports.generateRandomBytes32)();
|
|
9
|
+
export const generateRandomWalletUniqueId = () => {
|
|
10
|
+
return generateRandomBytes32();
|
|
15
11
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return (0, exports.generateRandomBytes32)();
|
|
12
|
+
export const generateRandomGroupId = () => {
|
|
13
|
+
return generateRandomBytes32();
|
|
19
14
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return (0, exports.generateRandomBytes32)();
|
|
15
|
+
export const generateRoleId = () => {
|
|
16
|
+
return generateRandomBytes32();
|
|
23
17
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return (0, exports.generateRandomBytes32)();
|
|
18
|
+
export const generateRuleId = () => {
|
|
19
|
+
return generateRandomBytes32();
|
|
27
20
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return BigInt((0, ChainUtils_1.randomBytes)(24));
|
|
21
|
+
export const generateRandomNonceKey = () => {
|
|
22
|
+
return BigInt(randomBytes(24));
|
|
31
23
|
};
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
const randomKey = (0, exports.generateRandomNonceKey)();
|
|
24
|
+
export const generateRandomNonce = () => {
|
|
25
|
+
const randomKey = generateRandomNonceKey();
|
|
35
26
|
return randomKey << 64n;
|
|
36
27
|
};
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
const data = (0, data_1.encodeLoginData)({ salt: walletUniqueId });
|
|
28
|
+
export const getWalletAddress = async (chain, walletUniqueId) => {
|
|
29
|
+
const data = encodeLoginData({ salt: walletUniqueId });
|
|
40
30
|
const factoryAddress = await chain.getAddress('factoryAddress');
|
|
41
|
-
return await
|
|
31
|
+
return await FACTORY_CONTRACT_INTERFACE.readFromChain(factoryAddress, 'getAddress', [data], chain);
|
|
42
32
|
};
|
|
43
|
-
|
|
44
|
-
const isWalletInitOp = (userOp) => {
|
|
33
|
+
export const isWalletInitOp = (userOp) => {
|
|
45
34
|
return userOp.initCode !== '0x';
|
|
46
35
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (operation.groupId && operation.authType === data_1.AuthType.MULTI_SIG) {
|
|
36
|
+
export const isGroupOperation = (operation) => {
|
|
37
|
+
if (operation.groupId && operation.authType === AuthType.MULTI_SIG) {
|
|
50
38
|
return true;
|
|
51
39
|
}
|
|
52
40
|
return false;
|
|
53
41
|
};
|
|
54
|
-
|
|
55
|
-
const isSignatureMissing = (userId, signatures) => {
|
|
42
|
+
export const isSignatureMissing = (userId, signatures) => {
|
|
56
43
|
if (!signatures) {
|
|
57
44
|
return true;
|
|
58
45
|
}
|
|
59
46
|
let sigMissing = true;
|
|
60
47
|
for (const signature of signatures) {
|
|
61
|
-
if (
|
|
62
|
-
|
|
48
|
+
if (pad(signature.userId.toLowerCase(), { size: 32 }) ===
|
|
49
|
+
pad(userId.toLowerCase(), { size: 32 })) {
|
|
63
50
|
sigMissing = false;
|
|
64
51
|
break;
|
|
65
52
|
}
|
|
66
53
|
}
|
|
67
54
|
return sigMissing;
|
|
68
55
|
};
|
|
69
|
-
exports.isSignatureMissing = isSignatureMissing;
|
|
70
56
|
//# sourceMappingURL=WalletUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletUtils.js","sourceRoot":"","sources":["../../../src/utils/WalletUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WalletUtils.js","sourceRoot":"","sources":["../../../src/utils/WalletUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils/index.js
CHANGED
|
@@ -1,25 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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("./ApiUtils"), exports);
|
|
18
|
-
__exportStar(require("./AuthUtils"), exports);
|
|
19
|
-
__exportStar(require("./ChainUtils"), exports);
|
|
20
|
-
__exportStar(require("./CheckoutUtils"), exports);
|
|
21
|
-
__exportStar(require("./PaymasterUtils"), exports);
|
|
22
|
-
__exportStar(require("./SwapUtils"), exports);
|
|
23
|
-
__exportStar(require("./UserOpUtils"), exports);
|
|
24
|
-
__exportStar(require("./WalletUtils"), exports);
|
|
1
|
+
export * from './ApiUtils';
|
|
2
|
+
export * from './AuthUtils';
|
|
3
|
+
export * from './ChainUtils';
|
|
4
|
+
export * from './CheckoutUtils';
|
|
5
|
+
export * from './PaymasterUtils';
|
|
6
|
+
export * from './SwapUtils';
|
|
7
|
+
export * from './UserOpUtils';
|
|
8
|
+
export * from './WalletUtils';
|
|
25
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const utils_1 = require("../utils");
|
|
7
|
-
class ContractInterface {
|
|
1
|
+
import { encodeFunctionData } from 'viem';
|
|
2
|
+
import { Chain } from '../data';
|
|
3
|
+
import { stringify } from '../utils';
|
|
4
|
+
export class ContractInterface {
|
|
5
|
+
abi;
|
|
8
6
|
constructor(abi) {
|
|
9
7
|
this.abi = abi;
|
|
10
8
|
}
|
|
11
9
|
async readFromChain(address, functionName, args, chainOrClient) {
|
|
12
|
-
const client = await
|
|
10
|
+
const client = await parseClient(chainOrClient);
|
|
13
11
|
try {
|
|
14
12
|
return await client.readContract({
|
|
15
13
|
abi: this.abi,
|
|
@@ -19,7 +17,7 @@ class ContractInterface {
|
|
|
19
17
|
});
|
|
20
18
|
}
|
|
21
19
|
catch (e) {
|
|
22
|
-
throw new Error(`Error reading from chain: \n ${
|
|
20
|
+
throw new Error(`Error reading from chain: \n ${stringify(e)}. Info: ${stringify({
|
|
23
21
|
address,
|
|
24
22
|
functionName,
|
|
25
23
|
args,
|
|
@@ -29,13 +27,13 @@ class ContractInterface {
|
|
|
29
27
|
}
|
|
30
28
|
}
|
|
31
29
|
async batchReadFromChain(address, chainOrClient, calls) {
|
|
32
|
-
const client = await
|
|
30
|
+
const client = await parseClient(chainOrClient);
|
|
33
31
|
return await Promise.all(calls.map(async (call) => {
|
|
34
32
|
return this.readFromChain(address, call.functionName, call.args ? call.args : [], client);
|
|
35
33
|
}));
|
|
36
34
|
}
|
|
37
35
|
encodeTransactionParams(address, functionName, args, value = 0n) {
|
|
38
|
-
const data =
|
|
36
|
+
const data = encodeFunctionData({
|
|
39
37
|
abi: this.abi,
|
|
40
38
|
functionName,
|
|
41
39
|
args,
|
|
@@ -43,14 +41,14 @@ class ContractInterface {
|
|
|
43
41
|
return { to: address, data, value };
|
|
44
42
|
}
|
|
45
43
|
encodeData(functionName, args) {
|
|
46
|
-
return
|
|
44
|
+
return encodeFunctionData({
|
|
47
45
|
abi: this.abi,
|
|
48
46
|
functionName,
|
|
49
47
|
args,
|
|
50
48
|
});
|
|
51
49
|
}
|
|
52
50
|
async createFilter(address, eventName, args, chainOrClient, fromBlock) {
|
|
53
|
-
const client = await
|
|
51
|
+
const client = await parseClient(chainOrClient);
|
|
54
52
|
return await client.createContractEventFilter({
|
|
55
53
|
abi: this.abi,
|
|
56
54
|
address,
|
|
@@ -60,7 +58,7 @@ class ContractInterface {
|
|
|
60
58
|
});
|
|
61
59
|
}
|
|
62
60
|
async getLog(address, name, args, chainOrClient, fromBlock) {
|
|
63
|
-
const client = await
|
|
61
|
+
const client = await parseClient(chainOrClient);
|
|
64
62
|
const event = getItemFromAbi(this.abi, name, 'event');
|
|
65
63
|
return await client.getLogs({
|
|
66
64
|
address,
|
|
@@ -70,9 +68,8 @@ class ContractInterface {
|
|
|
70
68
|
});
|
|
71
69
|
}
|
|
72
70
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (chainOrClient instanceof data_1.Chain) {
|
|
71
|
+
export const parseClient = async (chainOrClient) => {
|
|
72
|
+
if (chainOrClient instanceof Chain) {
|
|
76
73
|
const chain = chainOrClient;
|
|
77
74
|
return await chain.getClient();
|
|
78
75
|
}
|
|
@@ -83,7 +80,6 @@ const parseClient = async (chainOrClient) => {
|
|
|
83
80
|
throw new Error('No client or chain provided');
|
|
84
81
|
}
|
|
85
82
|
};
|
|
86
|
-
exports.parseClient = parseClient;
|
|
87
83
|
const getItemFromAbi = (abi, name, type) => {
|
|
88
84
|
const item = abi.find((item) => item.name === name && item.type === type);
|
|
89
85
|
if (!item) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractInterface.js","sourceRoot":"","sources":["../../../src/viem/ContractInterface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContractInterface.js","sourceRoot":"","sources":["../../../src/viem/ContractInterface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertSignerToClient = exports.convertProviderToClient = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
1
|
+
import { createWalletClient, custom, toBytes } from 'viem';
|
|
5
2
|
// @ts-ignore
|
|
6
3
|
//eslint-disable-next-line
|
|
7
|
-
|
|
8
|
-
const convertProviderToClient = ({ provider, viemChain, }) => {
|
|
9
|
-
const chain = viemChain ? viemChain :
|
|
4
|
+
import { mainnet } from "viem/chains";
|
|
5
|
+
export const convertProviderToClient = ({ provider, viemChain, }) => {
|
|
6
|
+
const chain = viemChain ? viemChain : mainnet;
|
|
10
7
|
if (provider.request) {
|
|
11
|
-
return
|
|
8
|
+
return createWalletClient({
|
|
12
9
|
chain,
|
|
13
|
-
transport:
|
|
10
|
+
transport: custom(provider),
|
|
14
11
|
});
|
|
15
12
|
}
|
|
16
13
|
if (!provider.send)
|
|
17
14
|
throw new Error("Provider isn't EIP 1193 compliant");
|
|
18
|
-
return
|
|
15
|
+
return createWalletClient({
|
|
19
16
|
chain,
|
|
20
|
-
transport:
|
|
17
|
+
transport: custom({
|
|
21
18
|
async request({ method, params }) {
|
|
22
19
|
const response = await provider.send(method, params);
|
|
23
20
|
return response;
|
|
@@ -25,28 +22,26 @@ const convertProviderToClient = ({ provider, viemChain, }) => {
|
|
|
25
22
|
}),
|
|
26
23
|
});
|
|
27
24
|
};
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
const chain = viemChain ? viemChain : chains_1.mainnet;
|
|
25
|
+
export const convertSignerToClient = ({ signer, viemChain, }) => {
|
|
26
|
+
const chain = viemChain ? viemChain : mainnet;
|
|
31
27
|
if (signer.type === 'local') {
|
|
32
|
-
return
|
|
28
|
+
return createWalletClient({
|
|
33
29
|
chain,
|
|
34
|
-
transport:
|
|
30
|
+
transport: custom(signer),
|
|
35
31
|
});
|
|
36
32
|
}
|
|
37
|
-
return
|
|
33
|
+
return createWalletClient({
|
|
38
34
|
chain,
|
|
39
|
-
transport:
|
|
35
|
+
transport: custom({
|
|
40
36
|
async request({ method, params }) {
|
|
41
37
|
if (method === 'eth_requestAccounts') {
|
|
42
38
|
return [await signer.getAddress()];
|
|
43
39
|
}
|
|
44
40
|
else if (method === 'personal_sign') {
|
|
45
|
-
return await signer.signMessage(
|
|
41
|
+
return await signer.signMessage(toBytes(params[0]));
|
|
46
42
|
}
|
|
47
43
|
},
|
|
48
44
|
}),
|
|
49
45
|
});
|
|
50
46
|
};
|
|
51
|
-
exports.convertSignerToClient = convertSignerToClient;
|
|
52
47
|
//# sourceMappingURL=Converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../../src/viem/Converter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../../src/viem/Converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC1D,aAAa;AACb,0BAA0B;AAC1B,OAAO,EAAS,OAAO,EAAE,MAAM,aAAa,CAAA;AAY5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,QAAQ,EACR,SAAS,GACuB,EAAE,EAAE;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,kBAAkB,CAAC;YACxB,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACxE,OAAO,kBAAkB,CAAC;QACxB,KAAK;QACL,SAAS,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACpD,OAAO,QAAQ,CAAA;YACjB,CAAC;SACF,CAAC;KACH,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,MAAM,EACN,SAAS,GACqB,EAAE,EAAE;IAClC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,kBAAkB,CAAC;YACxB,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;SAC1B,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,kBAAkB,CAAC;QACxB,KAAK;QACL,SAAS,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;oBACrC,OAAO,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;gBACpC,CAAC;qBAAM,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;oBACtC,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrD,CAAC;YACH,CAAC;SACF,CAAC;KACH,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
package/dist/src/viem/index.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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("./ContractInterface"), exports);
|
|
18
|
-
__exportStar(require("./Converter"), exports);
|
|
1
|
+
export * from './ContractInterface';
|
|
2
|
+
export * from './Converter';
|
|
19
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/viem/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/viem/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}
|