@funkit/core 2.1.2-next.0 → 2.1.2-next.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.
Files changed (170) hide show
  1. package/dist/index.js +16232 -12
  2. package/dist/index.js.map +7 -1
  3. package/dist/src/viem/Converter.d.ts +4 -4
  4. package/package.json +6 -4
  5. package/dist/src/abis/ApproveAndExec.json +0 -106
  6. package/dist/src/abis/ApproveAndSwap.json +0 -141
  7. package/dist/src/abis/CheckoutPaymaster.json +0 -3358
  8. package/dist/src/abis/ERC20.json +0 -1
  9. package/dist/src/abis/ERC721.json +0 -1
  10. package/dist/src/abis/EntryPoint.json +0 -1023
  11. package/dist/src/abis/EstimationPaymaster.json +0 -266
  12. package/dist/src/abis/FeePercentOracle.json +0 -218
  13. package/dist/src/abis/FunWallet.json +0 -758
  14. package/dist/src/abis/FunWalletFactory.json +0 -232
  15. package/dist/src/abis/GaslessPaymaster.json +0 -558
  16. package/dist/src/abis/LidoWithdrawQueue.json +0 -1
  17. package/dist/src/abis/RoleBasedAccessControl.json +0 -836
  18. package/dist/src/abis/TestNFT.json +0 -226
  19. package/dist/src/abis/TokenPaymaster.json +0 -696
  20. package/dist/src/abis/TokenPriceOracle.json +0 -57
  21. package/dist/src/abis/UniswapV2Factory.json +0 -1
  22. package/dist/src/abis/UniswapV2Router02.json +0 -1
  23. package/dist/src/abis/UniswapV3LimitOrder.json +0 -1
  24. package/dist/src/abis/UserAuthentication.json +0 -338
  25. package/dist/src/abis/univ3factory.json +0 -1
  26. package/dist/src/abis/univ3quoter.json +0 -1
  27. package/dist/src/abis/univ3router.json +0 -1
  28. package/dist/src/actions/AccessControl.js +0 -87
  29. package/dist/src/actions/AccessControl.js.map +0 -1
  30. package/dist/src/actions/BatchActions.js +0 -8
  31. package/dist/src/actions/BatchActions.js.map +0 -1
  32. package/dist/src/actions/Bridge.js +0 -42
  33. package/dist/src/actions/Bridge.js.map +0 -1
  34. package/dist/src/actions/FirstClassActions.js +0 -329
  35. package/dist/src/actions/FirstClassActions.js.map +0 -1
  36. package/dist/src/actions/Group.js +0 -30
  37. package/dist/src/actions/Group.js.map +0 -1
  38. package/dist/src/actions/LimitOrder.js +0 -43
  39. package/dist/src/actions/LimitOrder.js.map +0 -1
  40. package/dist/src/actions/Stake.js +0 -108
  41. package/dist/src/actions/Stake.js.map +0 -1
  42. package/dist/src/actions/Swap.js +0 -150
  43. package/dist/src/actions/Swap.js.map +0 -1
  44. package/dist/src/actions/Token.js +0 -103
  45. package/dist/src/actions/Token.js.map +0 -1
  46. package/dist/src/actions/index.js +0 -8
  47. package/dist/src/actions/index.js.map +0 -1
  48. package/dist/src/actions/types.js +0 -14
  49. package/dist/src/actions/types.js.map +0 -1
  50. package/dist/src/apis/AccessControlApis.js +0 -19
  51. package/dist/src/apis/AccessControlApis.js.map +0 -1
  52. package/dist/src/apis/BridgeApis.js +0 -54
  53. package/dist/src/apis/BridgeApis.js.map +0 -1
  54. package/dist/src/apis/ContractApis.js +0 -7
  55. package/dist/src/apis/ContractApis.js.map +0 -1
  56. package/dist/src/apis/GroupApis.js +0 -15
  57. package/dist/src/apis/GroupApis.js.map +0 -1
  58. package/dist/src/apis/InfoApis.js +0 -53
  59. package/dist/src/apis/InfoApis.js.map +0 -1
  60. package/dist/src/apis/ListenerApis.js +0 -31
  61. package/dist/src/apis/ListenerApis.js.map +0 -1
  62. package/dist/src/apis/NFTApis.js +0 -29
  63. package/dist/src/apis/NFTApis.js.map +0 -1
  64. package/dist/src/apis/OperationApis.js +0 -76
  65. package/dist/src/apis/OperationApis.js.map +0 -1
  66. package/dist/src/apis/PaymasterApis.js +0 -18
  67. package/dist/src/apis/PaymasterApis.js.map +0 -1
  68. package/dist/src/apis/SwapApis.js +0 -40
  69. package/dist/src/apis/SwapApis.js.map +0 -1
  70. package/dist/src/apis/UserApis.js +0 -56
  71. package/dist/src/apis/UserApis.js.map +0 -1
  72. package/dist/src/apis/index.js +0 -9
  73. package/dist/src/apis/index.js.map +0 -1
  74. package/dist/src/apis/types.js +0 -2
  75. package/dist/src/apis/types.js.map +0 -1
  76. package/dist/src/auth/Auth.js +0 -321
  77. package/dist/src/auth/Auth.js.map +0 -1
  78. package/dist/src/auth/SessionKeyAuth.js +0 -115
  79. package/dist/src/auth/SessionKeyAuth.js.map +0 -1
  80. package/dist/src/auth/index.js +0 -3
  81. package/dist/src/auth/index.js.map +0 -1
  82. package/dist/src/auth/types.js +0 -2
  83. package/dist/src/auth/types.js.map +0 -1
  84. package/dist/src/common/constants.js +0 -477
  85. package/dist/src/common/constants.js.map +0 -1
  86. package/dist/src/common/index.js +0 -3
  87. package/dist/src/common/index.js.map +0 -1
  88. package/dist/src/common/types.js +0 -2
  89. package/dist/src/common/types.js.map +0 -1
  90. package/dist/src/config/Config.js +0 -50
  91. package/dist/src/config/Config.js.map +0 -1
  92. package/dist/src/config/index.js +0 -3
  93. package/dist/src/config/index.js.map +0 -1
  94. package/dist/src/config/types.js +0 -2
  95. package/dist/src/config/types.js.map +0 -1
  96. package/dist/src/data/Chain.js +0 -209
  97. package/dist/src/data/Chain.js.map +0 -1
  98. package/dist/src/data/NFT.js +0 -101
  99. package/dist/src/data/NFT.js.map +0 -1
  100. package/dist/src/data/Operation.js +0 -88
  101. package/dist/src/data/Operation.js.map +0 -1
  102. package/dist/src/data/SolidityData.js +0 -84
  103. package/dist/src/data/SolidityData.js.map +0 -1
  104. package/dist/src/data/Token.js +0 -118
  105. package/dist/src/data/Token.js.map +0 -1
  106. package/dist/src/data/index.js +0 -7
  107. package/dist/src/data/index.js.map +0 -1
  108. package/dist/src/data/types.js +0 -22
  109. package/dist/src/data/types.js.map +0 -1
  110. package/dist/src/errors/BaseError.js +0 -25
  111. package/dist/src/errors/BaseError.js.map +0 -1
  112. package/dist/src/errors/ClientError.js +0 -63
  113. package/dist/src/errors/ClientError.js.map +0 -1
  114. package/dist/src/errors/ServerError.js +0 -13
  115. package/dist/src/errors/ServerError.js.map +0 -1
  116. package/dist/src/errors/errors.json +0 -626
  117. package/dist/src/errors/index.js +0 -5
  118. package/dist/src/errors/index.js.map +0 -1
  119. package/dist/src/errors/types.js +0 -48
  120. package/dist/src/errors/types.js.map +0 -1
  121. package/dist/src/sponsors/CheckoutSponsor.js +0 -61
  122. package/dist/src/sponsors/CheckoutSponsor.js.map +0 -1
  123. package/dist/src/sponsors/GaslessSponsor.js +0 -75
  124. package/dist/src/sponsors/GaslessSponsor.js.map +0 -1
  125. package/dist/src/sponsors/Sponsor.js +0 -80
  126. package/dist/src/sponsors/Sponsor.js.map +0 -1
  127. package/dist/src/sponsors/TokenSponsor.js +0 -251
  128. package/dist/src/sponsors/TokenSponsor.js.map +0 -1
  129. package/dist/src/sponsors/index.js +0 -5
  130. package/dist/src/sponsors/index.js.map +0 -1
  131. package/dist/src/sponsors/types.js +0 -8
  132. package/dist/src/sponsors/types.js.map +0 -1
  133. package/dist/src/utils/ApiUtils.js +0 -94
  134. package/dist/src/utils/ApiUtils.js.map +0 -1
  135. package/dist/src/utils/AuthUtils.js +0 -31
  136. package/dist/src/utils/AuthUtils.js.map +0 -1
  137. package/dist/src/utils/ChainUtils.js +0 -131
  138. package/dist/src/utils/ChainUtils.js.map +0 -1
  139. package/dist/src/utils/CheckoutUtils.js +0 -28
  140. package/dist/src/utils/CheckoutUtils.js.map +0 -1
  141. package/dist/src/utils/GroupUtils.js +0 -26
  142. package/dist/src/utils/GroupUtils.js.map +0 -1
  143. package/dist/src/utils/MerkleUtils.js +0 -86
  144. package/dist/src/utils/MerkleUtils.js.map +0 -1
  145. package/dist/src/utils/PaymasterUtils.js +0 -17
  146. package/dist/src/utils/PaymasterUtils.js.map +0 -1
  147. package/dist/src/utils/SwapUtils.js +0 -193
  148. package/dist/src/utils/SwapUtils.js.map +0 -1
  149. package/dist/src/utils/TypeUtils.js +0 -9
  150. package/dist/src/utils/TypeUtils.js.map +0 -1
  151. package/dist/src/utils/UserOpUtils.js +0 -171
  152. package/dist/src/utils/UserOpUtils.js.map +0 -1
  153. package/dist/src/utils/ViemUtils.js +0 -30
  154. package/dist/src/utils/ViemUtils.js.map +0 -1
  155. package/dist/src/utils/WalletUtils.js +0 -56
  156. package/dist/src/utils/WalletUtils.js.map +0 -1
  157. package/dist/src/utils/index.js +0 -9
  158. package/dist/src/utils/index.js.map +0 -1
  159. package/dist/src/viem/ContractInterface.js +0 -90
  160. package/dist/src/viem/ContractInterface.js.map +0 -1
  161. package/dist/src/viem/Converter.js +0 -47
  162. package/dist/src/viem/Converter.js.map +0 -1
  163. package/dist/src/viem/index.js +0 -3
  164. package/dist/src/viem/index.js.map +0 -1
  165. package/dist/src/wallet/FunWallet.js +0 -804
  166. package/dist/src/wallet/FunWallet.js.map +0 -1
  167. package/dist/src/wallet/index.js +0 -3
  168. package/dist/src/wallet/index.js.map +0 -1
  169. package/dist/src/wallet/types.js +0 -2
  170. package/dist/src/wallet/types.js.map +0 -1
@@ -1,48 +0,0 @@
1
- export var ErrorBaseType;
2
- (function (ErrorBaseType) {
3
- ErrorBaseType["ClientError"] = "ClientError";
4
- ErrorBaseType["ServerError"] = "ServerError";
5
- })(ErrorBaseType || (ErrorBaseType = {}));
6
- export var ErrorType;
7
- (function (ErrorType) {
8
- ErrorType["InvalidParameter"] = "InvalidParameter";
9
- ErrorType["InternalServerFailure"] = "InternalServerFailure";
10
- ErrorType["ResourceNotFound"] = "ResourceNotFound";
11
- ErrorType["InvalidAction"] = "InvalidAction";
12
- ErrorType["ThrottlingError"] = "ThrottlingError";
13
- ErrorType["AccessDeniedError"] = "AccessDeniedError";
14
- ErrorType["UserOpFailureError"] = "UserOpFailureError";
15
- })(ErrorType || (ErrorType = {}));
16
- export var ErrorCode;
17
- (function (ErrorCode) {
18
- ErrorCode["MissingParameter"] = "MissingParameter";
19
- ErrorCode["InvalidParameter"] = "InvalidParameter";
20
- ErrorCode["InvalidThreshold"] = "InvalidThreshold";
21
- ErrorCode["InvalidChainIdentifier"] = "InvalidChainIdentifier";
22
- ErrorCode["InvalidNFTIdentifier"] = "InvalidNFTIdentifier";
23
- ErrorCode["InsufficientSignatures"] = "InsufficientSignatures";
24
- ErrorCode["InvalidParameterCombination"] = "InvalidParameterCombination";
25
- ErrorCode["CheckPointHintsNotFound"] = "CheckPointHintsNotFound";
26
- ErrorCode["GroupNotFound"] = "GroupNotFound";
27
- ErrorCode["TokenNotFound"] = "TokenNotFound";
28
- ErrorCode["AddressNotFound"] = "AddressNotFound";
29
- ErrorCode["UserAlreadyExists"] = "UserAlreadyExists";
30
- ErrorCode["UserNotFound"] = "UserNotFound";
31
- ErrorCode["ChainNotSupported"] = "ChainNotSupported";
32
- ErrorCode["ServerMissingData"] = "ServerMissingData";
33
- ErrorCode["ServerFailure"] = "ServerFailure";
34
- ErrorCode["ServerTimeout"] = "ServerTimeout";
35
- ErrorCode["UnknownServerError"] = "UnknownServerError";
36
- ErrorCode["ServerConnectionError"] = "ServerConnectionError";
37
- ErrorCode["UserOpFailureError"] = "UserOpFailureError";
38
- ErrorCode["Unauthorized"] = "Unauthorized";
39
- ErrorCode["RequestLimitExceeded"] = "RequestLimitExceeded";
40
- ErrorCode["WalletPrefundError"] = "PrefundError";
41
- ErrorCode["GasSponsorFundError"] = "GasSponsorFundError";
42
- ErrorCode["FunWalletErrorCode"] = "FunWalletErrorCode";
43
- ErrorCode["BridgeRouteNotFound"] = "BridgeRouteNotFound";
44
- ErrorCode["BridgeAllowanceDataNotFound"] = "BridgeAllowanceDataNotFound";
45
- ErrorCode["BridgeApproveTxDataNotFound"] = "BridgeApproveTxDataNotFound";
46
- ErrorCode["CheckoutInitDepositAddrNotFound"] = "CheckoutInitDepositAddrNotFound";
47
- })(ErrorCode || (ErrorCode = {}));
48
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/errors/types.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;AAC7B,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,kDAAqC,CAAA;IACrC,4DAA+C,CAAA;IAC/C,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,gDAAmC,CAAA;IACnC,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;AAC3C,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAED,MAAM,CAAN,IAAY,SA8BX;AA9BD,WAAY,SAAS;IACnB,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,8DAAiD,CAAA;IACjD,0DAA6C,CAAA;IAC7C,8DAAiD,CAAA;IACjD,wEAA2D,CAAA;IAC3D,gEAAmD,CAAA;IACnD,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,gDAAmC,CAAA;IACnC,oDAAuC,CAAA;IACvC,0CAA6B,CAAA;IAC7B,oDAAuC,CAAA;IACvC,oDAAuC,CAAA;IACvC,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,sDAAyC,CAAA;IACzC,4DAA+C,CAAA;IAC/C,sDAAyC,CAAA;IACzC,0CAA6B,CAAA;IAC7B,0DAA6C,CAAA;IAC7C,gDAAmC,CAAA;IACnC,wDAA2C,CAAA;IAC3C,sDAAyC,CAAA;IACzC,wDAA2C,CAAA;IAC3C,wEAA2D,CAAA;IAC3D,wEAA2D,CAAA;IAC3D,gFAAmE,CAAA;AACrE,CAAC,EA9BW,SAAS,KAAT,SAAS,QA8BpB"}
@@ -1,61 +0,0 @@
1
- import { CHECKOUT_PAYMASTER_CONTRACT_INTERFACE, } from '../common';
2
- import { Chain, Token } from '../data';
3
- import { Sponsor } from './Sponsor';
4
- import { PaymasterType } from './types';
5
- export class CheckoutSponsor extends Sponsor {
6
- constructor(options = globalThis.globalEnvOption) {
7
- super(options, CHECKOUT_PAYMASTER_CONTRACT_INTERFACE, 'checkoutPaymasterAddress', PaymasterType.CheckoutSponsor);
8
- }
9
- async getPaymasterAndData(options) {
10
- const paymasterAddress = await this.getPaymasterAddress(options);
11
- return paymasterAddress.toLowerCase();
12
- }
13
- async stake(_sponsor, amount, options) {
14
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
15
- const amountdec = await Token.getDecimalAmount('eth', amount, chain);
16
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'deposit', [], BigInt(amountdec));
17
- }
18
- async unstake(receiver, amount, options) {
19
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
20
- const amountdec = await Token.getDecimalAmount('eth', amount, chain);
21
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'withdrawTo', [receiver, amountdec]);
22
- }
23
- async lockDeposit() {
24
- throw new Error(`lockDeposit is not supported on CheckoutSponsor`);
25
- }
26
- async unlockDepositAfter(_blocksToWait) {
27
- throw new Error(`unlockDepositAfter is not supported on CheckoutSponsor`);
28
- }
29
- /** True if the specified sponsor is in blacklist mode. **/
30
- async getListMode(_sponsor, _options = globalThis.globalEnvOption) {
31
- throw new Error(`getListMode is not supported on CheckoutSponsor`);
32
- }
33
- async setToBlacklistMode() {
34
- throw new Error(`setToBlacklistMode is not supported on Checkout Sponsor`);
35
- }
36
- async setToWhitelistMode() {
37
- throw new Error(`setToWhitelistMode is not supported on Checkout Sponsor`);
38
- }
39
- async batchTransaction(_transactions) {
40
- throw new Error(`batchTransaction is not supported on Checkout Sponsor`);
41
- }
42
- async addSpenderToWhitelist(_spender) {
43
- throw new Error(`addSpenderToWhitelist is not supported on Checkout Sponsor`);
44
- }
45
- async removeSpenderFromWhitelist(_spender) {
46
- throw new Error(`removeSpenderFromWhitelist is not supported on Checkout Sponsor`);
47
- }
48
- async batchWhitelistSpenders(_spenders, _modes) {
49
- throw new Error(`batchWhitelistSpenders is not supported on Checkout Sponsor`);
50
- }
51
- async addSpenderToBlacklist(_spender) {
52
- throw new Error(`addSpenderToBlacklist is not supported on Checkout Sponsor`);
53
- }
54
- async removeSpenderFromBlacklist(_spender) {
55
- throw new Error(`removeSpenderFromBlacklist is not supported on Checkout Sponsor`);
56
- }
57
- async batchBlacklistSpenders(_spenders, _modes) {
58
- throw new Error(`batchBlacklistSpenders is not supported on Checkout Sponsor`);
59
- }
60
- }
61
- //# sourceMappingURL=CheckoutSponsor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckoutSponsor.js","sourceRoot":"","sources":["../../../src/sponsors/CheckoutSponsor.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- import { concat } from 'viem';
2
- import { GASLESS_PAYMASTER_CONTRACT_INTERFACE, GASLESS_SPONSOR_SUPPORT_CHAINS, } from '../common';
3
- import { Chain, Token } from '../data';
4
- import { ErrorCode, ResourceNotFoundError } from '../errors';
5
- import { Sponsor } from './Sponsor';
6
- import { PaymasterType } from './types';
7
- export class GaslessSponsor extends Sponsor {
8
- constructor(options = globalThis.globalEnvOption) {
9
- super(options, GASLESS_PAYMASTER_CONTRACT_INTERFACE, 'gaslessPaymasterAddress', PaymasterType.GaslessSponsor);
10
- }
11
- async getFunSponsorAddress(options = globalThis.globalEnvOption) {
12
- if (!this.sponsorAddress) {
13
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
14
- if (GASLESS_SPONSOR_SUPPORT_CHAINS.includes(await chain.getChainId())) {
15
- this.sponsorAddress = await chain.getAddress('funGaslessSponsorAddress');
16
- }
17
- else {
18
- throw new ResourceNotFoundError(ErrorCode.MissingParameter, 'The network you are working with does not support gasless Fun Sponsor. You will need to run and manage your own gasless sponsor.', {
19
- gaslessSponsorSupportChains: GASLESS_SPONSOR_SUPPORT_CHAINS,
20
- chain: await chain.getChainId(),
21
- }, 'Manage your own gasless sponsor, or use a supported network.', 'https://docs.fun.xyz');
22
- }
23
- }
24
- return this.sponsorAddress;
25
- }
26
- async getPaymasterAndData(options = globalThis.globalEnvOption) {
27
- const paymasterAddress = await this.getPaymasterAddress(options);
28
- const sponsor = await this.getFunSponsorAddress(options);
29
- return concat([paymasterAddress, sponsor]);
30
- }
31
- async stake(sponsor, amount, options = globalThis.globalEnvOption) {
32
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
33
- const amountdec = await Token.getDecimalAmount('eth', amount, chain);
34
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'addDepositTo', [sponsor, amountdec], BigInt(amountdec));
35
- }
36
- async unstake(receiver, amount, options = globalThis.globalEnvOption) {
37
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
38
- const amountdec = await Token.getDecimalAmount('eth', amount, chain);
39
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'withdrawDepositTo', [receiver, amountdec]);
40
- }
41
- async getUnlockBlock(sponsor, options = globalThis.globalEnvOption) {
42
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
43
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getUnlockBlock', [sponsor], chain);
44
- }
45
- async getLockState(sponsor, options = globalThis.globalEnvOption) {
46
- const unlockBlock = Number(await this.getUnlockBlock(sponsor, options));
47
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
48
- const client = await chain.getClient();
49
- const currentBlock = await client.getBlockNumber();
50
- return unlockBlock === 0 || unlockBlock > currentBlock;
51
- }
52
- async getBalance(sponsor, options = globalThis.globalEnvOption) {
53
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
54
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getBalance', [sponsor], chain);
55
- }
56
- async lockDeposit() {
57
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'lockDeposit', []);
58
- }
59
- async unlockDepositAfter(blocksToWait) {
60
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'unlockDepositAfter', [blocksToWait]);
61
- }
62
- async getSpenderBlacklistMode(spender, sponsor, options = globalThis.globalEnvOption) {
63
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
64
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getSpenderBlacklistMode', [spender, sponsor], chain);
65
- }
66
- async getSpenderWhitelistMode(spender, sponsor, options = globalThis.globalEnvOption) {
67
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
68
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getSpenderWhitelistMode', [spender, sponsor], chain);
69
- }
70
- static async getPaymasterAddress(options = globalThis.globalEnvOption) {
71
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
72
- return await chain.getAddress(this.name);
73
- }
74
- }
75
- //# sourceMappingURL=GaslessSponsor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GaslessSponsor.js","sourceRoot":"","sources":["../../../src/sponsors/GaslessSponsor.ts"],"names":[],"mappings":"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"}
@@ -1,80 +0,0 @@
1
- import { Chain } from '../data';
2
- export class Sponsor {
3
- sponsorAddress;
4
- contractInterface;
5
- name;
6
- paymasterAddress;
7
- paymasterType;
8
- chainId;
9
- constructor(options = globalThis.globalEnvOption, contractInterface, name, paymasterType) {
10
- if (options.gasSponsor !== undefined &&
11
- options.gasSponsor.sponsorAddress !== undefined) {
12
- this.sponsorAddress = options.gasSponsor.sponsorAddress;
13
- }
14
- this.contractInterface = contractInterface;
15
- this.name = name;
16
- this.paymasterType = paymasterType;
17
- }
18
- async getPaymasterAddress(options = globalThis.globalEnvOption) {
19
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
20
- const chainId = await chain.getChainId();
21
- if (!this.paymasterAddress && chainId !== this.chainId) {
22
- this.paymasterAddress = await chain.getAddress(this.name);
23
- this.chainId = chainId;
24
- }
25
- return this.paymasterAddress;
26
- }
27
- /** True if the specified sponsor is in blacklist mode. **/
28
- async getListMode(sponsor, options = globalThis.globalEnvOption) {
29
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
30
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getListMode', [sponsor], chain);
31
- }
32
- async setToBlacklistMode() {
33
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setListMode', [true]);
34
- }
35
- async setToWhitelistMode() {
36
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setListMode', [false]);
37
- }
38
- async batchTransaction(transactions) {
39
- const batchActionsData = transactions.map((transaction) => transaction.data ? transaction.data : '0x');
40
- const value = transactions.reduce((acc, transaction) => transaction.value ? acc + BigInt(transaction.value) : acc, 0n);
41
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'batchActions', [batchActionsData], value);
42
- }
43
- async addSpenderToWhitelist(spender) {
44
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setSpenderWhitelistMode', [spender, true]);
45
- }
46
- async removeSpenderFromWhitelist(spender) {
47
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setSpenderWhitelistMode', [spender, false]);
48
- }
49
- async batchWhitelistSpenders(spenders, modes) {
50
- const calldata = [];
51
- for (let i = 0; i < spenders.length; i++) {
52
- if (modes[i]) {
53
- calldata.push(await this.addSpenderToWhitelist(spenders[i]));
54
- }
55
- else {
56
- calldata.push(await this.removeSpenderFromWhitelist(spenders[i]));
57
- }
58
- }
59
- return await this.batchTransaction(calldata);
60
- }
61
- async addSpenderToBlacklist(spender) {
62
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setSpenderBlacklistMode', [spender, true]);
63
- }
64
- async removeSpenderFromBlacklist(spender) {
65
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setSpenderBlacklistMode', [spender, false]);
66
- }
67
- async batchBlacklistSpenders(spenders, modes) {
68
- const calldata = [];
69
- for (let i = 0; i < spenders.length; i++) {
70
- if (modes[i]) {
71
- calldata.push(await this.addSpenderToBlacklist(spenders[i]));
72
- }
73
- else {
74
- calldata.push(await this.removeSpenderFromBlacklist(spenders[i]));
75
- }
76
- }
77
- return await this.batchTransaction(calldata);
78
- }
79
- }
80
- //# sourceMappingURL=Sponsor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Sponsor.js","sourceRoot":"","sources":["../../../src/sponsors/Sponsor.ts"],"names":[],"mappings":"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"}
@@ -1,251 +0,0 @@
1
- import { concat, encodeAbiParameters } from 'viem';
2
- import { addTransaction } from '../apis/PaymasterApis';
3
- import { TOKEN_SPONSOR_SUPPORT_CHAINS } from '../common';
4
- import { AddressZero, TOKEN_PAYMASTER_CONTRACT_INTERFACE, } from '../common/constants';
5
- import { Chain, Token } from '../data';
6
- import { ErrorCode, InvalidParameterError, ResourceNotFoundError, } from '../errors';
7
- import { getPermitHash, getWalletPermitNonce } from '../utils';
8
- import { Sponsor } from './Sponsor';
9
- import { PaymasterType } from './types';
10
- export class TokenSponsor extends Sponsor {
11
- token;
12
- constructor(options = globalThis.globalEnvOption) {
13
- super(options, TOKEN_PAYMASTER_CONTRACT_INTERFACE, 'tokenPaymasterAddress', PaymasterType.TokenSponsor);
14
- if (!options.gasSponsor?.token) {
15
- throw new InvalidParameterError(ErrorCode.MissingParameter, 'token field is missing', { gasSponsor: options.gasSponsor }, 'Provide correct token name or address.', 'https://docs.fun.xyz');
16
- }
17
- this.token = options.gasSponsor.token.toLowerCase();
18
- }
19
- async getFunSponsorAddress(options = globalThis.globalEnvOption) {
20
- if (!this.sponsorAddress) {
21
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
22
- if (TOKEN_SPONSOR_SUPPORT_CHAINS.includes(await chain.getChainId())) {
23
- this.sponsorAddress = await chain.getAddress('funTokenSponsorAddress');
24
- }
25
- else {
26
- throw new ResourceNotFoundError(ErrorCode.MissingParameter, 'The network you are working with does not support token Fun Sponsor. You will need to run and manage your own token sponsor.', {
27
- tokenSponsorSupportChains: TOKEN_SPONSOR_SUPPORT_CHAINS,
28
- chain: await chain.getChainId(),
29
- }, 'Manage your own token sponsor, or use a supported network', 'https://docs.fun.xyz');
30
- }
31
- }
32
- return this.sponsorAddress;
33
- }
34
- async getPaymasterAndData(options = globalThis.globalEnvOption) {
35
- // TODO: temporary fallback, remove after refactoring -- Panda
36
- const chain = await Chain.getChain({
37
- chainIdentifier: globalThis.globalEnvOption.chain,
38
- });
39
- const tokenAddress = await Token.getAddress(this.token, chain);
40
- const paymasterAddress = await this.getPaymasterAddress(options);
41
- const sponsor = await this.getFunSponsorAddress(options);
42
- return concat([paymasterAddress, sponsor, tokenAddress]);
43
- }
44
- async getPaymasterAndDataPermit(partialOp, walletAddr, userId, auth, options = globalThis.globalEnvOption) {
45
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
46
- const estimateGasSignature = await auth.getEstimateGasSignature(userId, partialOp);
47
- partialOp.userOp.signature = estimateGasSignature.toLowerCase();
48
- const estimationPaymasterAddress = await chain.getAddress('estimationPaymasterAddress');
49
- const { callGasLimit, verificationGasLimit, preVerificationGas } = await chain.estimateOpGas({
50
- ...partialOp.userOp,
51
- paymasterAndData: estimationPaymasterAddress,
52
- });
53
- const { maxFeePerGas } = await chain.getFeeData();
54
- const paymasterAddress = await this.getPaymasterAddress(options);
55
- const requiredGas = (callGasLimit +
56
- (verificationGasLimit + 400000n) * 3n +
57
- preVerificationGas) *
58
- BigInt(maxFeePerGas);
59
- const tokenAddress = await Token.getAddress(this.token, chain);
60
- const decAmount = await TOKEN_PAYMASTER_CONTRACT_INTERFACE.readFromChain(paymasterAddress, 'getTokenValueOfEth', [tokenAddress, requiredGas], chain);
61
- const nonce = await getWalletPermitNonce(walletAddr, chain);
62
- const client = await chain.getClient();
63
- const chainId = await client.getChainId();
64
- const hash = await getPermitHash(tokenAddress, paymasterAddress, decAmount, nonce, walletAddr, BigInt(chainId));
65
- const sig = await auth.signHash(hash);
66
- const encodedSig = encodeAbiParameters([
67
- { type: 'address' },
68
- { type: 'address' },
69
- { type: 'uint256' },
70
- { type: 'uint256' },
71
- { type: 'bytes' },
72
- ], [tokenAddress, paymasterAddress, decAmount, nonce, sig]);
73
- const sponsor = await this.getFunSponsorAddress(options);
74
- const encodedAddresses = encodeAbiParameters([{ type: 'address' }, { type: 'address' }], [sponsor, tokenAddress]);
75
- const encodedData = encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }], [encodedAddresses, encodedSig]);
76
- return concat([paymasterAddress, encodedData]);
77
- }
78
- async stake(sponsor, amount, options = globalThis.globalEnvOption) {
79
- const chainIdentifier = options.chain ?? globalThis.globalEnvOption.chain;
80
- const chain = await Chain.getChain({ chainIdentifier });
81
- const amountdec = await Token.getDecimalAmount('eth', amount, chain);
82
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'addEthDepositTo', [sponsor, amountdec], BigInt(amountdec));
83
- }
84
- async unstake(receiver, amount, options = globalThis.globalEnvOption) {
85
- // TODO: temporary fallback, remove after refactoring -- Panda
86
- const chainIdentifier = options.chain ?? globalThis.globalEnvOption.chain;
87
- const chain = await Chain.getChain({ chainIdentifier });
88
- const amountdec = await Token.getDecimalAmount('eth', amount, chain);
89
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'withdrawEthDepositTo', [receiver, amountdec]);
90
- }
91
- async getUnlockBlock(sponsor, token, options = globalThis.globalEnvOption) {
92
- // TODO: temporary fallback, remove after refactoring -- Panda
93
- const chain = await Chain.getChain({
94
- chainIdentifier: globalThis.globalEnvOption.chain,
95
- });
96
- const tokenAddr = (await Token.isNative(token))
97
- ? AddressZero
98
- : await Token.getAddress(token, chain);
99
- return (await this.getAllTokenData(tokenAddr, sponsor, options)).unlockBlock;
100
- }
101
- // false means unlocked, true means locked
102
- async getLockState(sponsor, token, options = globalThis.globalEnvOption) {
103
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
104
- const tokenAddr = (await Token.isNative(token))
105
- ? AddressZero
106
- : await Token.getAddress(token, chain);
107
- const unlockBlock = await this.getUnlockBlock(tokenAddr, sponsor);
108
- const provider = await chain.getClient();
109
- const currentBlock = await provider.getBlockNumber();
110
- return unlockBlock === 0n || unlockBlock > currentBlock;
111
- }
112
- async getTokenInfo(token, options = globalThis.globalEnvOption) {
113
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
114
- const tokenAddress = await Token.getAddress(token, chain);
115
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getToken', [tokenAddress], chain);
116
- }
117
- async getAllTokenData(spender, token, options = globalThis.globalEnvOption) {
118
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
119
- const tokenAddress = await Token.getAddress(token, chain);
120
- const data = await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getAllTokenData', [tokenAddress, spender], chain);
121
- return {
122
- unlockBlock: data[0],
123
- tokenAmount: data[1],
124
- };
125
- }
126
- async getTokenBalance(spender, token, options = globalThis.globalEnvOption) {
127
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
128
- const tokenData = new Token(token, chain);
129
- let tokenAddress;
130
- if (tokenData.isNative) {
131
- tokenAddress = AddressZero;
132
- }
133
- else {
134
- tokenAddress = await tokenData.getAddress();
135
- }
136
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getTokenBalance', [tokenAddress, spender], chain);
137
- }
138
- async getAllTokens(options = globalThis.globalEnvOption) {
139
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
140
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getAllTokens', [], chain);
141
- }
142
- async addUsableToken(oracle, token, aggregator, options = globalThis.globalEnvOption) {
143
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
144
- const decimals = await Token.getDecimals(token, chain);
145
- const tokenAddress = await Token.getAddress(token, chain);
146
- const data = [oracle, tokenAddress, decimals, aggregator];
147
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setTokenData', [data]);
148
- }
149
- async depositToken(token, spender, amount, options = globalThis.globalEnvOption) {
150
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
151
- const tokenObj = new Token(token, chain);
152
- const tokenAddress = await tokenObj.getAddress();
153
- const amountDec = await tokenObj.getDecimalAmount(amount);
154
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'addTokenDepositTo', [tokenAddress, spender, amountDec]);
155
- }
156
- async withdrawToken(token, receiver, amount, options = globalThis.globalEnvOption) {
157
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
158
- const tokenObj = new Token(token, chain);
159
- const tokenAddress = await tokenObj.getAddress();
160
- const amountdec = await tokenObj.getDecimalAmount(amount);
161
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'withdrawTokenDepositTo', [tokenAddress, receiver, amountdec]);
162
- }
163
- async lockTokenDeposit(token, options = globalThis.globalEnvOption) {
164
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
165
- const tokenData = new Token(token, chain);
166
- const tokenAddress = tokenData.isNative
167
- ? AddressZero
168
- : await tokenData.getAddress();
169
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'lockTokenDeposit', [tokenAddress]);
170
- }
171
- async unlockTokenDepositAfter(token, blocksToWait, options = globalThis.globalEnvOption) {
172
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
173
- const tokenData = new Token(token, chain);
174
- const tokenAddress = tokenData.isNative
175
- ? AddressZero
176
- : await tokenData.getAddress();
177
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'unlockTokenDepositAfter', [tokenAddress, blocksToWait]);
178
- }
179
- async lockDeposit() {
180
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'lockTokenDeposit', [AddressZero]);
181
- }
182
- async unlockDepositAfter(blocksToWait) {
183
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'unlockTokenDepositAfter', [AddressZero, blocksToWait]);
184
- }
185
- async approve(approver, token, amount, options = globalThis.globalEnvOption) {
186
- const gasSponsorAddress = await this.getPaymasterAddress();
187
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
188
- addTransaction(await chain.getChainId(), Date.now(), '0x', {
189
- action: 'approve',
190
- amount,
191
- from: approver,
192
- to: await this.getPaymasterAddress(options),
193
- token,
194
- }, this.paymasterType, approver);
195
- return Token.approve(token, gasSponsorAddress, amount, chain);
196
- }
197
- async getSpenderBlacklisted(spender, sponsor, options = globalThis.globalEnvOption) {
198
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
199
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getSpenderBlacklisted', [spender, sponsor], chain);
200
- }
201
- async getSpenderWhitelisted(spender, sponsor, options = globalThis.globalEnvOption) {
202
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
203
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getSpenderWhitelisted', [spender, sponsor], chain);
204
- }
205
- async getTokenWhitelisted(sponsor, token, options = globalThis.globalEnvOption) {
206
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
207
- const tokenAddress = await Token.getAddress(token, chain);
208
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getTokenWhitelisted', [tokenAddress, sponsor], chain);
209
- }
210
- async setTokenToWhitelistMode() {
211
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setTokenListMode', [false]);
212
- }
213
- async batchWhitelistTokens(tokens, modes, options = globalThis.globalEnvOption) {
214
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
215
- const calldata = [];
216
- for (let i = 0; i < tokens.length; i++) {
217
- const tokenAddress = await Token.getAddress(tokens[i], chain);
218
- calldata.push(this.contractInterface.encodeData('setTokenWhitelistMode', [
219
- tokenAddress,
220
- modes[i],
221
- ]));
222
- }
223
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'batchActions', [calldata]);
224
- }
225
- async getTokenListMode(sponsor, options = globalThis.globalEnvOption) {
226
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
227
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getTokenListMode', [sponsor], chain);
228
- }
229
- async getTokenBlacklisted(sponsor, token, options = globalThis.globalEnvOption) {
230
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
231
- const tokenAddress = await Token.getAddress(token, chain);
232
- return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), 'getTokenBlacklisted', [tokenAddress, sponsor], chain);
233
- }
234
- async setTokenToBlacklistMode() {
235
- return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setTokenListMode', [true]);
236
- }
237
- async batchBlacklistTokens(tokens, modes, options = globalThis.globalEnvOption) {
238
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
239
- const calldata = [];
240
- for (let i = 0; i < tokens.length; i++) {
241
- const tokenAddress = await Token.getAddress(tokens[i], chain);
242
- calldata.push(this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'setTokenBlacklistMode', [tokenAddress, modes[i]]));
243
- }
244
- return this.batchTransaction(calldata);
245
- }
246
- static async getPaymasterAddress(options = globalThis.globalEnvOption) {
247
- const chain = await Chain.getChain({ chainIdentifier: options.chain });
248
- return await chain.getAddress(this.name);
249
- }
250
- }
251
- //# sourceMappingURL=TokenSponsor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenSponsor.js","sourceRoot":"","sources":["../../../src/sponsors/TokenSponsor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export * from './CheckoutSponsor';
2
- export * from './GaslessSponsor';
3
- export * from './Sponsor';
4
- export * from './TokenSponsor';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sponsors/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA"}
@@ -1,8 +0,0 @@
1
- export var PaymasterType;
2
- (function (PaymasterType) {
3
- PaymasterType["BaseSponsor"] = "base";
4
- PaymasterType["GaslessSponsor"] = "gasless";
5
- PaymasterType["TokenSponsor"] = "token";
6
- PaymasterType["CheckoutSponsor"] = "checkout";
7
- })(PaymasterType || (PaymasterType = {}));
8
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sponsors/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,qCAAoB,CAAA;IACpB,2CAA0B,CAAA;IAC1B,uCAAsB,CAAA;IACtB,6CAA4B,CAAA;AAC9B,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}