four-flap-meme-sdk 1.6.89 → 1.6.91
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/xlayer/paymaster.d.ts +37 -78
- package/dist/xlayer/paymaster.js +41 -88
- package/package.json +2 -1
|
@@ -19,24 +19,38 @@ import { Wallet } from 'ethers';
|
|
|
19
19
|
* 这是一个最小化的 Paymaster,无条件代付所有 UserOp 的 gas。
|
|
20
20
|
* 基于 ERC-4337 IPaymaster 接口实现。
|
|
21
21
|
*/
|
|
22
|
-
export declare const SIMPLE_PAYMASTER_ABI: readonly ["constructor(address _entryPoint)", "function entryPoint() external view returns (address)", "function owner() external view returns (address)", "function
|
|
22
|
+
export declare const SIMPLE_PAYMASTER_ABI: readonly ["constructor(address _entryPoint)", "function entryPoint() external view returns (address)", "function owner() external view returns (address)", "function withdrawTo(address payable to, uint256 amount) external", "function validatePaymasterUserOp((address sender,uint256 nonce,bytes initCode,bytes callData,uint256 callGasLimit,uint256 verificationGasLimit,uint256 preVerificationGas,uint256 maxFeePerGas,uint256 maxPriorityFeePerGas,bytes paymasterAndData,bytes signature), bytes32, uint256) external view returns (bytes memory, uint256)", "function postOp(uint8, bytes calldata, uint256) external view"];
|
|
23
23
|
/**
|
|
24
|
-
* SimplePaymaster
|
|
24
|
+
* SimplePaymaster 编译后的完整 Bytecode
|
|
25
25
|
*
|
|
26
26
|
* ✅ 安全设计:
|
|
27
27
|
* - 只有 owner(AA Payer)可以提取资金
|
|
28
28
|
* - validatePaymasterUserOp() 无条件接受所有请求(由 owner 信任的 SDK 生成)
|
|
29
|
-
* - 资金存储在 EntryPoint
|
|
29
|
+
* - 资金存储在 EntryPoint 合约中(通过 EntryPoint.depositTo 充值)
|
|
30
30
|
*
|
|
31
31
|
* 🔐 防盗机制:
|
|
32
32
|
* 1. withdrawTo() 有 onlyOwner 限制
|
|
33
33
|
* 2. 只有 EntryPoint 可以调用 validatePaymasterUserOp 和 postOp
|
|
34
34
|
* 3. 资金存储在 EntryPoint,只有通过合约的 withdrawTo 才能取出
|
|
35
35
|
*
|
|
36
|
-
* Solidity 源码 (
|
|
36
|
+
* Solidity 源码 (solc 0.8.33, optimizer 200 runs):
|
|
37
37
|
* ```solidity
|
|
38
38
|
* // SPDX-License-Identifier: MIT
|
|
39
|
-
* pragma solidity ^0.8.
|
|
39
|
+
* pragma solidity ^0.8.19;
|
|
40
|
+
*
|
|
41
|
+
* struct UserOperation {
|
|
42
|
+
* address sender;
|
|
43
|
+
* uint256 nonce;
|
|
44
|
+
* bytes initCode;
|
|
45
|
+
* bytes callData;
|
|
46
|
+
* uint256 callGasLimit;
|
|
47
|
+
* uint256 verificationGasLimit;
|
|
48
|
+
* uint256 preVerificationGas;
|
|
49
|
+
* uint256 maxFeePerGas;
|
|
50
|
+
* uint256 maxPriorityFeePerGas;
|
|
51
|
+
* bytes paymasterAndData;
|
|
52
|
+
* bytes signature;
|
|
53
|
+
* }
|
|
40
54
|
*
|
|
41
55
|
* contract SimplePaymaster {
|
|
42
56
|
* address public immutable entryPoint;
|
|
@@ -47,92 +61,37 @@ export declare const SIMPLE_PAYMASTER_ABI: readonly ["constructor(address _entry
|
|
|
47
61
|
* owner = msg.sender;
|
|
48
62
|
* }
|
|
49
63
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* require(msg.sender == entryPoint, "only entry point");
|
|
57
|
-
* _;
|
|
58
|
-
* }
|
|
59
|
-
*
|
|
60
|
-
* function validatePaymasterUserOp(bytes calldata, bytes32, uint256)
|
|
61
|
-
* external view onlyEntryPoint returns (bytes memory, uint256) {
|
|
62
|
-
* return ("", 0);
|
|
63
|
-
* }
|
|
64
|
-
*
|
|
65
|
-
* function postOp(uint8, bytes calldata, uint256) external view onlyEntryPoint {}
|
|
66
|
-
*
|
|
67
|
-
* function deposit() external payable {
|
|
68
|
-
* (bool s,) = entryPoint.call{value: msg.value}(
|
|
69
|
-
* abi.encodeWithSignature("depositTo(address)", address(this)));
|
|
70
|
-
* require(s, "deposit failed");
|
|
71
|
-
* }
|
|
72
|
-
*
|
|
73
|
-
* function getDeposit() external view returns (uint256) {
|
|
74
|
-
* (bool s, bytes memory d) = entryPoint.staticcall(
|
|
75
|
-
* abi.encodeWithSignature("balanceOf(address)", address(this)));
|
|
76
|
-
* require(s, "query failed");
|
|
77
|
-
* return abi.decode(d, (uint256));
|
|
78
|
-
* }
|
|
79
|
-
*
|
|
80
|
-
* function withdrawTo(address payable to, uint256 amount) external onlyOwner {
|
|
81
|
-
* (bool s,) = entryPoint.call(
|
|
82
|
-
* abi.encodeWithSignature("withdrawTo(address,uint256)", to, amount));
|
|
83
|
-
* require(s, "withdraw failed");
|
|
84
|
-
* }
|
|
85
|
-
*
|
|
86
|
-
* function transferOwnership(address newOwner) external onlyOwner {
|
|
87
|
-
* owner = newOwner;
|
|
88
|
-
* }
|
|
89
|
-
*
|
|
90
|
-
* receive() external payable {}
|
|
91
|
-
* }
|
|
92
|
-
* ```
|
|
93
|
-
*
|
|
94
|
-
* 编译设置: solc 0.8.23, optimizer enabled (200 runs), evm: paris
|
|
95
|
-
*/
|
|
96
|
-
/**
|
|
97
|
-
* SimplePaymaster 编译后的完整 Bytecode
|
|
98
|
-
*
|
|
99
|
-
* 这是一个最小化的 Paymaster 合约,功能:
|
|
100
|
-
* - validatePaymasterUserOp: 无条件接受所有 UserOp
|
|
101
|
-
* - postOp: 空实现
|
|
102
|
-
* - withdrawTo: 只有 owner 可以提取资金
|
|
103
|
-
*
|
|
104
|
-
* Solidity 源码:
|
|
105
|
-
* ```solidity
|
|
106
|
-
* // SPDX-License-Identifier: MIT
|
|
107
|
-
* pragma solidity ^0.8.19;
|
|
108
|
-
*
|
|
109
|
-
* contract SimplePaymaster {
|
|
110
|
-
* address public immutable entryPoint;
|
|
111
|
-
* address public owner;
|
|
112
|
-
*
|
|
113
|
-
* constructor(address _entryPoint) { entryPoint = _entryPoint; owner = msg.sender; }
|
|
114
|
-
*
|
|
115
|
-
* function validatePaymasterUserOp(bytes calldata, bytes32, uint256)
|
|
116
|
-
* external view returns (bytes memory, uint256) {
|
|
117
|
-
* require(msg.sender == entryPoint, "not EP");
|
|
64
|
+
* function validatePaymasterUserOp(
|
|
65
|
+
* UserOperation calldata,
|
|
66
|
+
* bytes32,
|
|
67
|
+
* uint256
|
|
68
|
+
* ) external view returns (bytes memory context, uint256 validationData) {
|
|
69
|
+
* require(msg.sender == entryPoint, "!EP");
|
|
118
70
|
* return ("", 0);
|
|
119
71
|
* }
|
|
120
72
|
*
|
|
121
73
|
* function postOp(uint8, bytes calldata, uint256) external view {
|
|
122
|
-
* require(msg.sender == entryPoint, "
|
|
74
|
+
* require(msg.sender == entryPoint, "!EP");
|
|
123
75
|
* }
|
|
124
76
|
*
|
|
125
|
-
* function withdrawTo(address to, uint256 amount) external {
|
|
126
|
-
* require(msg.sender == owner, "
|
|
77
|
+
* function withdrawTo(address payable to, uint256 amount) external {
|
|
78
|
+
* require(msg.sender == owner, "!owner");
|
|
127
79
|
* (bool s,) = entryPoint.call(abi.encodeWithSignature("withdrawTo(address,uint256)", to, amount));
|
|
128
|
-
* require(s);
|
|
80
|
+
* require(s, "withdraw failed");
|
|
129
81
|
* }
|
|
130
82
|
*
|
|
131
83
|
* receive() external payable {}
|
|
132
84
|
* }
|
|
133
85
|
* ```
|
|
86
|
+
*
|
|
87
|
+
* ✅ 函数选择器:
|
|
88
|
+
* - 0xf465c77e: validatePaymasterUserOp(UserOperation,bytes32,uint256) - ERC-4337 v0.6 正确签名
|
|
89
|
+
* - 0xa9a23409: postOp(uint8,bytes,uint256)
|
|
90
|
+
* - 0x205c2878: withdrawTo(address,uint256)
|
|
91
|
+
* - 0x8da5cb5b: owner()
|
|
92
|
+
* - 0xb0d691fe: entryPoint()
|
|
134
93
|
*/
|
|
135
|
-
export declare const SIMPLE_PAYMASTER_BYTECODE = "
|
|
94
|
+
export declare const SIMPLE_PAYMASTER_BYTECODE = "0x60a060405234801561000f575f5ffd5b5060405161059738038061059783398101604081905261002e91610050565b6001600160a01b03166080525f80546001600160a01b0319163317905561007d565b5f60208284031215610060575f5ffd5b81516001600160a01b0381168114610076575f5ffd5b9392505050565b6080516104ee6100a95f395f818160e3015281816101970152818161028301526102ea01526104ee5ff3fe60806040526004361061004c575f3560e01c8063205c2878146100575780638da5cb5b14610078578063a9a23409146100b3578063b0d691fe146100d2578063f465c77e14610105575f5ffd5b3661005357005b5f5ffd5b348015610062575f5ffd5b50610076610071366004610356565b610132565b005b348015610083575f5ffd5b505f54610096906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100be575f5ffd5b506100766100cd36600461038b565b610278565b3480156100dd575f5ffd5b506100967f000000000000000000000000000000000000000000000000000000000000000081565b348015610110575f5ffd5b5061012461011f366004610417565b6102dc565b6040516100aa929190610466565b5f546001600160a01b031633146101795760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b60448201526064015b60405180910390fd5b6040516001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169060640160408051601f198184030181529181526020820180516001600160e01b031663040b850f60e31b179052516101f291906104a2565b5f604051808303815f865af19150503d805f811461022b576040519150601f19603f3d011682016040523d82523d5f602084013e610230565b606091505b50509050806102735760405162461bcd60e51b815260206004820152600f60248201526e1dda5d1a191c985dc819985a5b1959608a1b6044820152606401610170565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102d65760405162461bcd60e51b815260206004820152600360248201526202145560ec1b6044820152606401610170565b50505050565b60605f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461033d5760405162461bcd60e51b815260206004820152600360248201526202145560ec1b6044820152606401610170565b505060408051602081019091525f808252935093915050565b5f5f60408385031215610367575f5ffd5b82356001600160a01b038116811461037d575f5ffd5b946020939093013593505050565b5f5f5f5f6060858703121561039e575f5ffd5b843560ff811681146103ae575f5ffd5b9350602085013567ffffffffffffffff8111156103c9575f5ffd5b8501601f810187136103d9575f5ffd5b803567ffffffffffffffff8111156103ef575f5ffd5b876020828401011115610400575f5ffd5b949760209190910196509394604001359392505050565b5f5f5f60608486031215610429575f5ffd5b833567ffffffffffffffff81111561043f575f5ffd5b84016101608187031215610451575f5ffd5b95602085013595506040909401359392505050565b604081525f83518060408401528060208601606085015e5f606082850101526060601f19601f8301168401019150508260208301529392505050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220e815fb15a2e27454af13e74640b3b63a0f1dd20ace677f84f797d2bea4d19efb64736f6c63430008210033";
|
|
136
95
|
export interface PaymasterConfig {
|
|
137
96
|
/** RPC URL */
|
|
138
97
|
rpcUrl?: string;
|
package/dist/xlayer/paymaster.js
CHANGED
|
@@ -30,36 +30,44 @@ export const SIMPLE_PAYMASTER_ABI = [
|
|
|
30
30
|
'function entryPoint() external view returns (address)',
|
|
31
31
|
// 查询所有者
|
|
32
32
|
'function owner() external view returns (address)',
|
|
33
|
-
//
|
|
34
|
-
'function
|
|
35
|
-
//
|
|
36
|
-
'function
|
|
37
|
-
// 所有者提取资金
|
|
38
|
-
'function withdrawTo(address payable withdrawAddress, uint256 amount) external',
|
|
39
|
-
// 转移所有权
|
|
40
|
-
'function transferOwnership(address newOwner) external',
|
|
41
|
-
// ERC-4337 Paymaster 验证函数
|
|
42
|
-
'function validatePaymasterUserOp(tuple(address sender, uint256 nonce, bytes initCode, bytes callData, uint256 callGasLimit, uint256 verificationGasLimit, uint256 preVerificationGas, uint256 maxFeePerGas, uint256 maxPriorityFeePerGas, bytes paymasterAndData, bytes signature) userOp, bytes32 userOpHash, uint256 maxCost) external returns (bytes memory context, uint256 validationData)',
|
|
33
|
+
// 所有者提取资金(调用 EntryPoint.withdrawTo)
|
|
34
|
+
'function withdrawTo(address payable to, uint256 amount) external',
|
|
35
|
+
// ERC-4337 v0.6 Paymaster 验证函数(正确的 UserOperation 结构体签名)
|
|
36
|
+
'function validatePaymasterUserOp((address sender,uint256 nonce,bytes initCode,bytes callData,uint256 callGasLimit,uint256 verificationGasLimit,uint256 preVerificationGas,uint256 maxFeePerGas,uint256 maxPriorityFeePerGas,bytes paymasterAndData,bytes signature), bytes32, uint256) external view returns (bytes memory, uint256)',
|
|
43
37
|
// ERC-4337 Paymaster 后处理函数
|
|
44
|
-
'function postOp(uint8
|
|
38
|
+
'function postOp(uint8, bytes calldata, uint256) external view',
|
|
45
39
|
];
|
|
46
40
|
/**
|
|
47
|
-
* SimplePaymaster
|
|
41
|
+
* SimplePaymaster 编译后的完整 Bytecode
|
|
48
42
|
*
|
|
49
43
|
* ✅ 安全设计:
|
|
50
44
|
* - 只有 owner(AA Payer)可以提取资金
|
|
51
45
|
* - validatePaymasterUserOp() 无条件接受所有请求(由 owner 信任的 SDK 生成)
|
|
52
|
-
* - 资金存储在 EntryPoint
|
|
46
|
+
* - 资金存储在 EntryPoint 合约中(通过 EntryPoint.depositTo 充值)
|
|
53
47
|
*
|
|
54
48
|
* 🔐 防盗机制:
|
|
55
49
|
* 1. withdrawTo() 有 onlyOwner 限制
|
|
56
50
|
* 2. 只有 EntryPoint 可以调用 validatePaymasterUserOp 和 postOp
|
|
57
51
|
* 3. 资金存储在 EntryPoint,只有通过合约的 withdrawTo 才能取出
|
|
58
52
|
*
|
|
59
|
-
* Solidity 源码 (
|
|
53
|
+
* Solidity 源码 (solc 0.8.33, optimizer 200 runs):
|
|
60
54
|
* ```solidity
|
|
61
55
|
* // SPDX-License-Identifier: MIT
|
|
62
|
-
* pragma solidity ^0.8.
|
|
56
|
+
* pragma solidity ^0.8.19;
|
|
57
|
+
*
|
|
58
|
+
* struct UserOperation {
|
|
59
|
+
* address sender;
|
|
60
|
+
* uint256 nonce;
|
|
61
|
+
* bytes initCode;
|
|
62
|
+
* bytes callData;
|
|
63
|
+
* uint256 callGasLimit;
|
|
64
|
+
* uint256 verificationGasLimit;
|
|
65
|
+
* uint256 preVerificationGas;
|
|
66
|
+
* uint256 maxFeePerGas;
|
|
67
|
+
* uint256 maxPriorityFeePerGas;
|
|
68
|
+
* bytes paymasterAndData;
|
|
69
|
+
* bytes signature;
|
|
70
|
+
* }
|
|
63
71
|
*
|
|
64
72
|
* contract SimplePaymaster {
|
|
65
73
|
* address public immutable entryPoint;
|
|
@@ -70,92 +78,37 @@ export const SIMPLE_PAYMASTER_ABI = [
|
|
|
70
78
|
* owner = msg.sender;
|
|
71
79
|
* }
|
|
72
80
|
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* require(msg.sender == entryPoint, "only entry point");
|
|
80
|
-
* _;
|
|
81
|
-
* }
|
|
82
|
-
*
|
|
83
|
-
* function validatePaymasterUserOp(bytes calldata, bytes32, uint256)
|
|
84
|
-
* external view onlyEntryPoint returns (bytes memory, uint256) {
|
|
85
|
-
* return ("", 0);
|
|
86
|
-
* }
|
|
87
|
-
*
|
|
88
|
-
* function postOp(uint8, bytes calldata, uint256) external view onlyEntryPoint {}
|
|
89
|
-
*
|
|
90
|
-
* function deposit() external payable {
|
|
91
|
-
* (bool s,) = entryPoint.call{value: msg.value}(
|
|
92
|
-
* abi.encodeWithSignature("depositTo(address)", address(this)));
|
|
93
|
-
* require(s, "deposit failed");
|
|
94
|
-
* }
|
|
95
|
-
*
|
|
96
|
-
* function getDeposit() external view returns (uint256) {
|
|
97
|
-
* (bool s, bytes memory d) = entryPoint.staticcall(
|
|
98
|
-
* abi.encodeWithSignature("balanceOf(address)", address(this)));
|
|
99
|
-
* require(s, "query failed");
|
|
100
|
-
* return abi.decode(d, (uint256));
|
|
101
|
-
* }
|
|
102
|
-
*
|
|
103
|
-
* function withdrawTo(address payable to, uint256 amount) external onlyOwner {
|
|
104
|
-
* (bool s,) = entryPoint.call(
|
|
105
|
-
* abi.encodeWithSignature("withdrawTo(address,uint256)", to, amount));
|
|
106
|
-
* require(s, "withdraw failed");
|
|
107
|
-
* }
|
|
108
|
-
*
|
|
109
|
-
* function transferOwnership(address newOwner) external onlyOwner {
|
|
110
|
-
* owner = newOwner;
|
|
111
|
-
* }
|
|
112
|
-
*
|
|
113
|
-
* receive() external payable {}
|
|
114
|
-
* }
|
|
115
|
-
* ```
|
|
116
|
-
*
|
|
117
|
-
* 编译设置: solc 0.8.23, optimizer enabled (200 runs), evm: paris
|
|
118
|
-
*/
|
|
119
|
-
/**
|
|
120
|
-
* SimplePaymaster 编译后的完整 Bytecode
|
|
121
|
-
*
|
|
122
|
-
* 这是一个最小化的 Paymaster 合约,功能:
|
|
123
|
-
* - validatePaymasterUserOp: 无条件接受所有 UserOp
|
|
124
|
-
* - postOp: 空实现
|
|
125
|
-
* - withdrawTo: 只有 owner 可以提取资金
|
|
126
|
-
*
|
|
127
|
-
* Solidity 源码:
|
|
128
|
-
* ```solidity
|
|
129
|
-
* // SPDX-License-Identifier: MIT
|
|
130
|
-
* pragma solidity ^0.8.19;
|
|
131
|
-
*
|
|
132
|
-
* contract SimplePaymaster {
|
|
133
|
-
* address public immutable entryPoint;
|
|
134
|
-
* address public owner;
|
|
135
|
-
*
|
|
136
|
-
* constructor(address _entryPoint) { entryPoint = _entryPoint; owner = msg.sender; }
|
|
137
|
-
*
|
|
138
|
-
* function validatePaymasterUserOp(bytes calldata, bytes32, uint256)
|
|
139
|
-
* external view returns (bytes memory, uint256) {
|
|
140
|
-
* require(msg.sender == entryPoint, "not EP");
|
|
81
|
+
* function validatePaymasterUserOp(
|
|
82
|
+
* UserOperation calldata,
|
|
83
|
+
* bytes32,
|
|
84
|
+
* uint256
|
|
85
|
+
* ) external view returns (bytes memory context, uint256 validationData) {
|
|
86
|
+
* require(msg.sender == entryPoint, "!EP");
|
|
141
87
|
* return ("", 0);
|
|
142
88
|
* }
|
|
143
89
|
*
|
|
144
90
|
* function postOp(uint8, bytes calldata, uint256) external view {
|
|
145
|
-
* require(msg.sender == entryPoint, "
|
|
91
|
+
* require(msg.sender == entryPoint, "!EP");
|
|
146
92
|
* }
|
|
147
93
|
*
|
|
148
|
-
* function withdrawTo(address to, uint256 amount) external {
|
|
149
|
-
* require(msg.sender == owner, "
|
|
94
|
+
* function withdrawTo(address payable to, uint256 amount) external {
|
|
95
|
+
* require(msg.sender == owner, "!owner");
|
|
150
96
|
* (bool s,) = entryPoint.call(abi.encodeWithSignature("withdrawTo(address,uint256)", to, amount));
|
|
151
|
-
* require(s);
|
|
97
|
+
* require(s, "withdraw failed");
|
|
152
98
|
* }
|
|
153
99
|
*
|
|
154
100
|
* receive() external payable {}
|
|
155
101
|
* }
|
|
156
102
|
* ```
|
|
103
|
+
*
|
|
104
|
+
* ✅ 函数选择器:
|
|
105
|
+
* - 0xf465c77e: validatePaymasterUserOp(UserOperation,bytes32,uint256) - ERC-4337 v0.6 正确签名
|
|
106
|
+
* - 0xa9a23409: postOp(uint8,bytes,uint256)
|
|
107
|
+
* - 0x205c2878: withdrawTo(address,uint256)
|
|
108
|
+
* - 0x8da5cb5b: owner()
|
|
109
|
+
* - 0xb0d691fe: entryPoint()
|
|
157
110
|
*/
|
|
158
|
-
export const SIMPLE_PAYMASTER_BYTECODE = '
|
|
111
|
+
export const SIMPLE_PAYMASTER_BYTECODE = '0x60a060405234801561000f575f5ffd5b5060405161059738038061059783398101604081905261002e91610050565b6001600160a01b03166080525f80546001600160a01b0319163317905561007d565b5f60208284031215610060575f5ffd5b81516001600160a01b0381168114610076575f5ffd5b9392505050565b6080516104ee6100a95f395f818160e3015281816101970152818161028301526102ea01526104ee5ff3fe60806040526004361061004c575f3560e01c8063205c2878146100575780638da5cb5b14610078578063a9a23409146100b3578063b0d691fe146100d2578063f465c77e14610105575f5ffd5b3661005357005b5f5ffd5b348015610062575f5ffd5b50610076610071366004610356565b610132565b005b348015610083575f5ffd5b505f54610096906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100be575f5ffd5b506100766100cd36600461038b565b610278565b3480156100dd575f5ffd5b506100967f000000000000000000000000000000000000000000000000000000000000000081565b348015610110575f5ffd5b5061012461011f366004610417565b6102dc565b6040516100aa929190610466565b5f546001600160a01b031633146101795760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b60448201526064015b60405180910390fd5b6040516001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169060640160408051601f198184030181529181526020820180516001600160e01b031663040b850f60e31b179052516101f291906104a2565b5f604051808303815f865af19150503d805f811461022b576040519150601f19603f3d011682016040523d82523d5f602084013e610230565b606091505b50509050806102735760405162461bcd60e51b815260206004820152600f60248201526e1dda5d1a191c985dc819985a5b1959608a1b6044820152606401610170565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102d65760405162461bcd60e51b815260206004820152600360248201526202145560ec1b6044820152606401610170565b50505050565b60605f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461033d5760405162461bcd60e51b815260206004820152600360248201526202145560ec1b6044820152606401610170565b505060408051602081019091525f808252935093915050565b5f5f60408385031215610367575f5ffd5b82356001600160a01b038116811461037d575f5ffd5b946020939093013593505050565b5f5f5f5f6060858703121561039e575f5ffd5b843560ff811681146103ae575f5ffd5b9350602085013567ffffffffffffffff8111156103c9575f5ffd5b8501601f810187136103d9575f5ffd5b803567ffffffffffffffff8111156103ef575f5ffd5b876020828401011115610400575f5ffd5b949760209190910196509394604001359392505050565b5f5f5f60608486031215610429575f5ffd5b833567ffffffffffffffff81111561043f575f5ffd5b84016101608187031215610451575f5ffd5b95602085013595506040909401359392505050565b604081525f83518060408401528060208601606085015e5f606082850101526060601f19601f8301168401019150508260208301529392505050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220e815fb15a2e27454af13e74640b3b63a0f1dd20ace677f84f797d2bea4d19efb64736f6c63430008210033';
|
|
159
112
|
/**
|
|
160
113
|
* Paymaster 管理器
|
|
161
114
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "four-flap-meme-sdk",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.91",
|
|
4
4
|
"description": "SDK for Flap bonding curve and four.meme TokenManager",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"pinata": "^1.10.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
+
"solc": "^0.8.33",
|
|
37
38
|
"typescript": "^5.6.3"
|
|
38
39
|
}
|
|
39
40
|
}
|