@pimlico/mock-paymaster 0.0.4 → 0.0.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @pimlico/mock-paymaster
2
2
 
3
+ ## 0.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - a13670ca63d8be655c8ffe35c5cadf325d8ddc2f: Export erc20Address and sudoMintTokens
8
+
3
9
  ## 0.0.4
4
10
 
5
11
  ### Patch Changes
@@ -1,15 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.erc20Address = exports.sudoMintTokens = exports.tokenBalanceOf = exports.deployErc20Token = void 0;
3
+ exports.erc20Address = exports.sudoMintTokens = exports.tokenBalanceOf = exports.deployErc20Token = exports.getPaymasterUtilityWallet = void 0;
4
4
  const viem_1 = require("viem");
5
+ const accounts_1 = require("viem/accounts");
5
6
  const utils_js_1 = require("./utils.js");
6
7
  const erc20Bytecode = (0, viem_1.concat)([
7
8
  "0x60a060405234801561001057600080fd5b50604051610ff0380380610ff083398101604081905261002f9161022c565b6040518060400160405280600981526020016805465737445524332360bc1b8152506040518060400160405280600381526020016205432360ec1b815250816003908161007c919061034d565b506004610089828261034d565b5050506100a63369d3c21bcecceda10000006100b160201b60201c565b60ff166080526104a3565b6001600160a01b0382166100e457600060405163ec442f0560e01b81526004016100db9190610430565b60405180910390fd5b6100f0600083836100f4565b5050565b6001600160a01b03831661011f5780600260008282546101149190610454565b9091555061017e9050565b6001600160a01b0383166000908152602081905260409020548181101561015f5783818360405163391434e360e21b81526004016100db9392919061046d565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661019a576002805482900390556101b9565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101fc9190610495565b60405180910390a3505050565b60ff8116811461021857600080fd5b50565b805161022681610209565b92915050565b60006020828403121561024157610241600080fd5b600061024d848461021b565b949350505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b60028104600182168061029557607f821691505b6020821081036102a7576102a761026b565b50919050565b60006102266102b98381565b90565b6102c5836102ad565b815460001960089490940293841b1916921b91909117905550565b60006102ed8184846102bc565b505050565b818110156100f0576103056000826102e0565b6001016102f2565b601f8211156102ed576000818152602090206020601f850104810160208510156103345750805b6103466020601f8601048301826102f2565b5050505050565b81516001600160401b0381111561036657610366610255565b6103708254610281565b61037b82828561030d565b6020601f8311600181146103af57600084156103975750858201515b600019600886021c1981166002860217865550610408565b600085815260208120601f198616915b828110156103df57888501518255602094850194600190920191016103bf565b868310156103fb5784890151600019601f89166008021c191682555b6001600288020188555050505b505050505050565b60006001600160a01b038216610226565b61042a81610410565b82525050565b602081016102268284610421565b634e487b7160e01b600052601160045260246000fd5b808201808211156102265761022661043e565b8061042a565b6060810161047b8286610421565b6104886020830185610467565b61024d6040830184610467565b602081016102268284610467565b608051610b326104be60003960006101650152610b326000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063313ce56711610081578063a9059cbb1161005b578063a9059cbb146101cf578063dd62ed3e146101e2578063fb4dcefa1461022857600080fd5b8063313ce5671461016357806370a082311461019157806395d89b41146101c757600080fd5b806318160ddd116100b257806318160ddd1461012c57806323b872dd1461013d5780632d688ca81461015057600080fd5b806305ea5c22146100d957806306fdde03146100ee578063095ea7b31461010c575b600080fd5b6100ec6100e7366004610868565b61023b565b005b6100f661024b565b604051610103919061092c565b60405180910390f35b61011f61011a366004610944565b6102dd565b604051610103919061098b565b6002545b604051610103919061099f565b61011f61014b366004610868565b6102f7565b6100ec61015e366004610944565b61031b565b7f000000000000000000000000000000000000000000000000000000000000000060405161010391906109b6565b61013061019f3660046109c4565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100f6610329565b61011f6101dd366004610944565b610338565b6101306101f03660046109ed565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6100ec6102363660046109ed565b610346565b61024683838361037c565b505050565b60606003805461025a90610a4f565b80601f016020809104026020016040519081016040528092919081815260200182805461028690610a4f565b80156102d35780601f106102a8576101008083540402835291602001916102d3565b820191906000526020600020905b8154815290600101906020018083116102b657829003601f168201915b5050505050905090565b6000336102eb81858561037c565b60019150505b92915050565b600033610305858285610389565b610310858585610441565b506001949350505050565b61032582826104ec565b5050565b60606004805461025a90610a4f565b6000336102eb818585610441565b61032582826103778573ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610441565b6102468383836001610548565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461043b578181101561042c578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161042393929190610a84565b60405180910390fd5b61043b84848484036000610548565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166104915760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b73ffffffffffffffffffffffffffffffffffffffff82166104e15760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b61024683838361068e565b73ffffffffffffffffffffffffffffffffffffffff821661053c5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b6103256000838361068e565b73ffffffffffffffffffffffffffffffffffffffff84166105985760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b73ffffffffffffffffffffffffffffffffffffffff83166105e85760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160209081526040808320938716835292905220829055801561043b578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610680919061099f565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff83166106c65780600260008282546106bb9190610ae9565b909155506107589050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561072c578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161042393929190610a84565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff8216610781576002805482900390556107ad565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161080a919061099f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff82166102f1565b61083e81610817565b811461084957600080fd5b50565b80356102f181610835565b8061083e565b80356102f181610857565b60008060006060848603121561088057610880600080fd5b600061088c868661084c565b935050602061089d8682870161084c565b92505060406108ae8682870161085d565b9150509250925092565b60005b838110156108d35781810151838201526020016108bb565b50506000910152565b60006108e6825190565b8084526020840193506108fd8185602086016108b8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920192915050565b6020808252810161093d81846108dc565b9392505050565b6000806040838503121561095a5761095a600080fd5b6000610966858561084c565b92505060206109778582860161085d565b9150509250929050565b8015155b82525050565b602081016102f18284610981565b80610985565b602081016102f18284610999565b60ff8116610985565b602081016102f182846109ad565b6000602082840312156109d9576109d9600080fd5b60006109e5848461084c565b949350505050565b60008060408385031215610a0357610a03600080fd5b6000610a0f858561084c565b92505060206109778582860161084c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600281046001821680610a6357607f821691505b602082108103610a7557610a75610a20565b50919050565b61098581610817565b60608101610a928286610a7b565b610a9f6020830185610999565b6109e56040830184610999565b602081016102f18284610a7b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102f1576102f1610aba56fea2646970667358221220d40f68e247510ec8b7876d327ac47b949de248d0626aaf2670151c5e84ee6b4a64736f6c634300081a0033",
8
9
  (0, viem_1.pad)((0, viem_1.toHex)(18n))
9
10
  ]);
10
11
  const create2Salt = "0x0000000000000000000000000000000000000000000000000000000000000000";
11
- const deployErc20Token = async (walletClient, publicClient) => {
12
+ const getPaymasterUtilityWallet = async (anvilRpc) => {
13
+ const account = (0, accounts_1.privateKeyToAccount)("0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
14
+ const publicClient = await (0, utils_js_1.getPublicClient)(anvilRpc);
15
+ const balance = await publicClient.getBalance({ address: account.address });
16
+ if (balance === 0n) {
17
+ const testClient = (0, viem_1.createTestClient)({
18
+ mode: "anvil",
19
+ transport: (0, viem_1.http)(anvilRpc)
20
+ });
21
+ await testClient.setBalance({
22
+ address: account.address,
23
+ value: (0, viem_1.parseEther)("1000")
24
+ });
25
+ }
26
+ const walletClient = (0, viem_1.createWalletClient)({
27
+ chain: await (0, utils_js_1.getChain)(anvilRpc),
28
+ account,
29
+ transport: (0, viem_1.http)(anvilRpc)
30
+ });
31
+ return walletClient;
32
+ };
33
+ exports.getPaymasterUtilityWallet = getPaymasterUtilityWallet;
34
+ const deployErc20Token = async (anvilRpc) => {
35
+ const publicClient = await (0, utils_js_1.getPublicClient)(anvilRpc);
12
36
  if ((await publicClient.getCode({ address: exports.erc20Address })) === undefined) {
37
+ const walletClient = await (0, exports.getPaymasterUtilityWallet)(anvilRpc);
13
38
  await walletClient.sendTransaction({
14
39
  to: "0x4e59b44847b379578588920ca78fbf26c0b4956c",
15
40
  data: (0, viem_1.concat)([create2Salt, erc20Bytecode])
@@ -31,10 +56,7 @@ const tokenBalanceOf = async (holder, anvilRpc) => {
31
56
  };
32
57
  exports.tokenBalanceOf = tokenBalanceOf;
33
58
  const sudoMintTokens = async ({ amount, to, anvilRpc }) => {
34
- const walletClient = await (0, utils_js_1.getAnvilWalletClient)({
35
- addressIndex: 0,
36
- anvilRpc
37
- });
59
+ const walletClient = await (0, exports.getPaymasterUtilityWallet)(anvilRpc);
38
60
  await walletClient.sendTransaction({
39
61
  to: exports.erc20Address,
40
62
  value: 0n,
@@ -1 +1 @@
1
- {"version":3,"file":"erc20-utils.js","sourceRoot":"","sources":["../../helpers/erc20-utils.ts"],"names":[],"mappings":";;;AAAA,+BAca;AACb,yCAAkE;AAElE,MAAM,aAAa,GAAG,IAAA,aAAM,EAAC;IACzB,o+PAAo+P;IACp+P,IAAA,UAAG,EAAC,IAAA,YAAK,EAAC,GAAG,CAAC,CAAC;CAClB,CAAC,CAAA;AAEF,MAAM,WAAW,GACb,oEAAoE,CAAA;AAEjE,MAAM,gBAAgB,GAAG,KAAK,EACjC,YAAqD,EACrD,YAA0B,EAC5B,EAAE;IACA,IAAI,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAY,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACxE,MAAM,YAAY,CAAC,eAAe,CAAC;YAC/B,EAAE,EAAE,4CAA4C;YAChD,IAAI,EAAE,IAAA,aAAM,EAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SAC7C,CAAC,CAAA;IACN,CAAC;AACL,CAAC,CAAA;AAVY,QAAA,gBAAgB,oBAU5B;AAEM,MAAM,cAAc,GAAG,KAAK,EAAE,MAAe,EAAE,QAAgB,EAAE,EAAE;IACtE,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAe,EAAC,QAAQ,CAAC,CAAA;IAEpD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;QACpC,EAAE,EAAE,oBAAY;QAChB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,IAAA,yBAAkB,EAAC;YACrB,GAAG,EAAE,IAAA,eAAQ,EAAC,CAAC,6BAA6B,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC,MAAM,CAAC;SACjB,CAAC;KACL,CAAC,CAAA;IAEF,OAAO,IAAA,kBAAW,EAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;AAC5C,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAEM,MAAM,cAAc,GAAG,KAAK,EAAE,EACjC,MAAM,EACN,EAAE,EACF,QAAQ,EAKX,EAAE,EAAE;IACD,MAAM,YAAY,GAAG,MAAM,IAAA,+BAAoB,EAAC;QAC5C,YAAY,EAAE,CAAC;QACf,QAAQ;KACX,CAAC,CAAA;IAEF,MAAM,YAAY,CAAC,eAAe,CAAC;QAC/B,EAAE,EAAE,oBAAY;QAChB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,IAAA,yBAAkB,EAAC;YACrB,GAAG,EAAE,IAAA,eAAQ,EAAC,CAAC,qCAAqC,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;SACrB,CAAC;KACL,CAAC,CAAA;AACN,CAAC,CAAA;AAtBY,QAAA,cAAc,kBAsB1B;AAEY,QAAA,YAAY,GAAG,IAAA,wBAAiB,EAAC;IAC1C,IAAI,EAAE,4CAA4C;IAClD,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,aAAa;CAC1B,CAAC,CAAA"}
1
+ {"version":3,"file":"erc20-utils.js","sourceRoot":"","sources":["../../helpers/erc20-utils.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTokenSupported = exports.getAnvilWalletClient = exports.getPublicClient = exports.getChain = exports.maxBigInt = void 0;
3
+ exports.isTokenSupported = exports.getPublicClient = exports.getChain = exports.maxBigInt = void 0;
4
4
  const viem_1 = require("viem");
5
- const accounts_1 = require("viem/accounts");
6
5
  const erc20_utils_js_1 = require("./erc20-utils.js");
7
6
  const schema_js_1 = require("./schema.js");
8
7
  const maxBigInt = (a, b) => {
@@ -40,17 +39,6 @@ const getPublicClient = async (anvilRpc) => {
40
39
  });
41
40
  };
42
41
  exports.getPublicClient = getPublicClient;
43
- const getAnvilWalletClient = async ({ addressIndex, anvilRpc }) => {
44
- const chain = await (0, exports.getChain)(anvilRpc);
45
- return (0, viem_1.createWalletClient)({
46
- account: (0, accounts_1.mnemonicToAccount)("test test test test test test test test test test test junk", {
47
- addressIndex
48
- }),
49
- chain,
50
- transport: (0, viem_1.http)(anvilRpc)
51
- });
52
- };
53
- exports.getAnvilWalletClient = getAnvilWalletClient;
54
42
  const isTokenSupported = async (token) => {
55
43
  if (token !== erc20_utils_js_1.erc20Address) {
56
44
  throw new schema_js_1.RpcError("Token is not supported", schema_js_1.ValidationErrors.InvalidFields);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../helpers/utils.ts"],"names":[],"mappings":";;;AAAA,+BAWa;AACb,4CAAiD;AACjD,qDAA+C;AAC/C,2CAAwD;AAGjD,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB;AAEM,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAkB,EAAE;IAC7D,MAAM,UAAU,GAAG,IAAA,yBAAkB,EAAC;QAClC,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC;KAC1B,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAE7C,OAAO,IAAA,kBAAW,EAAC;QACf,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,SAAS,OAAO,EAAE;QACxB,cAAc,EAAE;YACZ,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE;YACL,OAAO,EAAE;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC;aACjB;SACJ;KACJ,CAAC,CAAA;AACN,CAAC,CAAA;AArBY,QAAA,QAAQ,YAqBpB;AAEM,MAAM,eAAe,GAAG,KAAK,EAChC,QAAgB,EACuB,EAAE;IACzC,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,EAOhC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAA;IAEtC,OAAO,IAAA,yBAAkB,EAAC;QACtB,KAAK;QACL,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,GAAG;KACvB,CAAC,CAAA;AACN,CAAC,CAAA;AAnBY,QAAA,eAAe,mBAmB3B;AAEM,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACvC,YAAY,EACZ,QAAQ,EACiC,EAE3C,EAAE;IACA,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAA;IAEtC,OAAO,IAAA,yBAAkB,EAAC;QACtB,OAAO,EAAE,IAAA,4BAAiB,EACtB,6DAA6D,EAC7D;YACI,YAAY;SACf,CACJ;QACD,KAAK;QACL,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,CAAC;KAC5B,CAAC,CAAA;AACN,CAAC,CAAA;AAlBY,QAAA,oBAAoB,wBAkBhC;AAEM,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACrD,IAAI,KAAK,KAAK,6BAAY,EAAE,CAAC;QACzB,MAAM,IAAI,oBAAQ,CACd,wBAAwB,EACxB,4BAAgB,CAAC,aAAa,CACjC,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AAPY,QAAA,gBAAgB,oBAO5B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../helpers/utils.ts"],"names":[],"mappings":";;;AAAA,+BAQa;AACb,qDAA+C;AAC/C,2CAAwD;AAGjD,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB;AAEM,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAkB,EAAE;IAC7D,MAAM,UAAU,GAAG,IAAA,yBAAkB,EAAC;QAClC,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC;KAC1B,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAE7C,OAAO,IAAA,kBAAW,EAAC;QACf,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,SAAS,OAAO,EAAE;QACxB,cAAc,EAAE;YACZ,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE;YACL,OAAO,EAAE;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC;aACjB;SACJ;KACJ,CAAC,CAAA;AACN,CAAC,CAAA;AArBY,QAAA,QAAQ,YAqBpB;AAEM,MAAM,eAAe,GAAG,KAAK,EAChC,QAAgB,EACuB,EAAE;IACzC,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,EAOhC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAA;IAEtC,OAAO,IAAA,yBAAkB,EAAC;QACtB,KAAK;QACL,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,GAAG;KACvB,CAAC,CAAA;AACN,CAAC,CAAA;AAnBY,QAAA,eAAe,mBAmB3B;AAEM,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACrD,IAAI,KAAK,KAAK,6BAAY,EAAE,CAAC;QACzB,MAAM,IAAI,oBAAQ,CACd,wBAAwB,EACxB,4BAAgB,CAAC,aAAa,CACjC,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AAPY,QAAA,gBAAgB,oBAO5B"}
package/_cjs/index.js CHANGED
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.paymaster = void 0;
3
+ exports.sudoMintTokens = exports.erc20Address = exports.paymaster = void 0;
4
4
  const cors_1 = require("@fastify/cors");
5
5
  const fastify_1 = require("fastify");
6
6
  const prool_1 = require("prool");
7
7
  const viem_1 = require("viem");
8
- const account_abstraction_1 = require("viem/account-abstraction");
8
+ const accounts_1 = require("viem/accounts");
9
9
  const erc20_utils_js_1 = require("./helpers/erc20-utils.js");
10
+ Object.defineProperty(exports, "erc20Address", { enumerable: true, get: function () { return erc20_utils_js_1.erc20Address; } });
11
+ Object.defineProperty(exports, "sudoMintTokens", { enumerable: true, get: function () { return erc20_utils_js_1.sudoMintTokens; } });
10
12
  const utils_js_1 = require("./helpers/utils.js");
11
13
  const relay_js_1 = require("./relay.js");
12
14
  const singletonPaymasters_js_1 = require("./singletonPaymasters.js");
@@ -18,29 +20,24 @@ exports.paymaster = (0, prool_1.defineInstance)(({ anvilRpc, altoRpc, port: _por
18
20
  port: _port,
19
21
  name: "mock-paymaster",
20
22
  start: async ({ port = _port }) => {
21
- const chain = await (0, utils_js_1.getChain)(anvilRpc);
22
- const walletClient = await (0, utils_js_1.getAnvilWalletClient)({
23
- anvilRpc,
24
- addressIndex: 1
25
- });
26
- const publicClient = (0, viem_1.createPublicClient)({
27
- transport: (0, viem_1.http)(anvilRpc),
28
- chain
23
+ const paymasterSigner = (0, viem_1.createWalletClient)({
24
+ chain: await (0, utils_js_1.getChain)(anvilRpc),
25
+ account: (0, accounts_1.privateKeyToAccount)("0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"),
26
+ transport: (0, viem_1.http)(anvilRpc)
29
27
  });
30
- const bundler = (0, account_abstraction_1.createBundlerClient)({
31
- chain,
32
- transport: (0, viem_1.http)(altoRpc)
28
+ await (0, singletonPaymasters_js_1.deployPaymasters)({
29
+ anvilRpc,
30
+ paymasterSigner: paymasterSigner.account.address
33
31
  });
34
- await (0, singletonPaymasters_js_1.deployPaymasters)({ walletClient, publicClient });
35
- await (0, erc20_utils_js_1.deployErc20Token)(walletClient, publicClient);
32
+ await (0, erc20_utils_js_1.deployErc20Token)(anvilRpc);
36
33
  app.register(cors_1.default, {
37
34
  origin: "*",
38
35
  methods: ["POST", "GET", "OPTIONS"]
39
36
  });
40
37
  const rpcHandler = (0, relay_js_1.createRpcHandler)({
41
- bundler,
42
- publicClient,
43
- paymasterSigner: walletClient
38
+ altoRpc,
39
+ anvilRpc,
40
+ paymasterSigner
44
41
  });
45
42
  app.post("/", {}, rpcHandler);
46
43
  app.get("/ping", async (_request, reply) => {
package/_cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,wCAAgC;AAChC,qCAA6B;AAC7B,iCAAsC;AACtC,+BAA+C;AAC/C,kEAA8D;AAC9D,6DAA2D;AAC3D,iDAAmE;AACnE,yCAA6C;AAC7C,qEAA2D;AAE9C,QAAA,SAAS,GAAG,IAAA,sBAAc,EACnC,CAAC,EACG,QAAQ,EACR,OAAO,EACP,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,GAAG,WAAW,EACwC,EAAE,EAAE;IACrE,MAAM,GAAG,GAAG,IAAA,iBAAO,EAAC,EAAE,CAAC,CAAA;IAEvB,OAAO;QACH,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,CAAC,CAAA;YACtC,MAAM,YAAY,GAAG,MAAM,IAAA,+BAAoB,EAAC;gBAC5C,QAAQ;gBACR,YAAY,EAAE,CAAC;aAClB,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;gBACpC,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,CAAC;gBACzB,KAAK;aACR,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,IAAA,yCAAmB,EAAC;gBAChC,KAAK;gBACL,SAAS,EAAE,IAAA,WAAI,EAAC,OAAO,CAAC;aAC3B,CAAC,CAAA;YAEF,MAAM,IAAA,yCAAgB,EAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAA;YACtD,MAAM,IAAA,iCAAgB,EAAC,YAAY,EAAE,YAAY,CAAC,CAAA;YAElD,GAAG,CAAC,QAAQ,CAAC,cAAI,EAAE;gBACf,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;aACtC,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,IAAA,2BAAgB,EAAC;gBAChC,OAAO;gBACP,YAAY;gBACZ,eAAe,EAAE,YAAY;aAChC,CAAC,CAAA;YACF,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;YAE7B,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACvC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACb,GAAG,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,wCAAgC;AAChC,qCAA6B;AAC7B,iCAAsC;AACtC,+BAA+C;AAC/C,4CAAmD;AACnD,6DAIiC;AA2DxB,6FA7DL,6BAAY,OA6DK;AAAE,+FA5DnB,+BAAc,OA4DmB;AA1DrC,iDAA6C;AAC7C,yCAA6C;AAC7C,qEAA2D;AAE9C,QAAA,SAAS,GAAG,IAAA,sBAAc,EACnC,CAAC,EACG,QAAQ,EACR,OAAO,EACP,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,GAAG,WAAW,EACwC,EAAE,EAAE;IACrE,MAAM,GAAG,GAAG,IAAA,iBAAO,EAAC,EAAE,CAAC,CAAA;IAEvB,OAAO;QACH,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE;YAC9B,MAAM,eAAe,GAAG,IAAA,yBAAkB,EAAC;gBACvC,KAAK,EAAE,MAAM,IAAA,mBAAQ,EAAC,QAAQ,CAAC;gBAC/B,OAAO,EAAE,IAAA,8BAAmB,EACxB,oEAAoE,CACvE;gBACD,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,CAAC;aAC5B,CAAC,CAAA;YAEF,MAAM,IAAA,yCAAgB,EAAC;gBACnB,QAAQ;gBACR,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO;aACnD,CAAC,CAAA;YACF,MAAM,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAA;YAEhC,GAAG,CAAC,QAAQ,CAAC,cAAI,EAAE;gBACf,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;aACtC,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,IAAA,2BAAgB,EAAC;gBAChC,OAAO;gBACP,QAAQ;gBACR,eAAe;aAClB,CAAC,CAAA;YACF,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;YAE7B,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACvC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACb,GAAG,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAA"}
package/_cjs/relay.js CHANGED
@@ -68,7 +68,7 @@ const validateEntryPoint = (entryPoint) => {
68
68
  throw new schema_js_1.RpcError("EntryPoint not supported", schema_js_1.ValidationErrors.InvalidFields);
69
69
  }
70
70
  };
71
- const handleMethod = async ({ parsedBody, paymasterSigner, publicClient, bundler }) => {
71
+ const handleMethod = async ({ parsedBody, paymasterSigner, publicClient, bundlerClient }) => {
72
72
  const [paymaster06, paymaster07, paymaster08] = [
73
73
  (0, constants_js_1.getSingletonPaymaster06Address)(paymasterSigner.account.address),
74
74
  (0, constants_js_1.getSingletonPaymaster07Address)(paymasterSigner.account.address),
@@ -90,7 +90,7 @@ const handleMethod = async ({ parsedBody, paymasterSigner, publicClient, bundler
90
90
  entryPoint,
91
91
  userOperation,
92
92
  paymasterMode: { mode: "verifying" },
93
- bundler,
93
+ bundler: bundlerClient,
94
94
  paymaster: epToPaymaster[entryPoint],
95
95
  publicClient,
96
96
  paymasterSigner,
@@ -156,7 +156,7 @@ const handleMethod = async ({ parsedBody, paymasterSigner, publicClient, bundler
156
156
  ];
157
157
  }
158
158
  if (parsedBody.method === "pimlico_getUserOperationGasPrice") {
159
- return await bundler.request({
159
+ return await bundlerClient.request({
160
160
  method: "pimlico_getUserOperationGasPrice",
161
161
  params: []
162
162
  });
@@ -196,8 +196,13 @@ const handleMethod = async ({ parsedBody, paymasterSigner, publicClient, bundler
196
196
  }
197
197
  throw new schema_js_1.RpcError(`Attempted to call an unknown method ${parsedBody.method}`, schema_js_1.ValidationErrors.InvalidFields);
198
198
  };
199
- const createRpcHandler = ({ bundler, publicClient, paymasterSigner }) => {
199
+ const createRpcHandler = ({ altoRpc, anvilRpc, paymasterSigner }) => {
200
200
  return async (request, _reply) => {
201
+ const publicClient = await (0, utils_js_1.getPublicClient)(anvilRpc);
202
+ const bundlerClient = (0, account_abstraction_1.createBundlerClient)({
203
+ chain: await (0, utils_js_1.getChain)(anvilRpc),
204
+ transport: (0, viem_1.http)(altoRpc)
205
+ });
201
206
  const body = request.body;
202
207
  const parsedBody = schema_js_1.jsonRpcSchema.safeParse(body);
203
208
  if (!parsedBody.success) {
@@ -205,7 +210,7 @@ const createRpcHandler = ({ bundler, publicClient, paymasterSigner }) => {
205
210
  }
206
211
  try {
207
212
  const result = await handleMethod({
208
- bundler,
213
+ bundlerClient,
209
214
  paymasterSigner,
210
215
  parsedBody: parsedBody.data,
211
216
  publicClient
package/_cjs/relay.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"relay.js","sourceRoot":"","sources":["../relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay.js","sourceRoot":"","sources":["../relay.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ const viem_1 = require("viem");
5
5
  const account_abstraction_1 = require("viem/account-abstraction");
6
6
  const constants_js_1 = require("./constants.js");
7
7
  const abi_js_1 = require("./helpers/abi.js");
8
+ const erc20_utils_js_1 = require("./helpers/erc20-utils.js");
9
+ const utils_js_1 = require("./helpers/utils.js");
8
10
  const getDummyPaymasterData = ({ is06, paymaster, paymasterMode }) => {
9
11
  let encodedDummyData;
10
12
  const validUntil = 0;
@@ -157,8 +159,9 @@ const getSignedPaymasterData = async ({ publicClient, signer, userOp, paymaster,
157
159
  };
158
160
  };
159
161
  exports.getSignedPaymasterData = getSignedPaymasterData;
160
- const deployPaymasters = async ({ walletClient, publicClient }) => {
161
- const owner = walletClient.account.address;
162
+ const deployPaymasters = async ({ anvilRpc, paymasterSigner }) => {
163
+ const walletClient = await (0, erc20_utils_js_1.getPaymasterUtilityWallet)(anvilRpc);
164
+ const publicClient = await (0, utils_js_1.getPublicClient)(anvilRpc);
162
165
  let nonce = await publicClient.getTransactionCount({
163
166
  address: walletClient.account.address
164
167
  });
@@ -166,7 +169,7 @@ const deployPaymasters = async ({ walletClient, publicClient }) => {
166
169
  to: constants_js_1.constants.deterministicDeployer,
167
170
  data: (0, viem_1.concat)([
168
171
  constants_js_1.constants.create2Salt,
169
- (0, constants_js_1.getSingletonPaymaster06InitCode)(walletClient.account.address)
172
+ (0, constants_js_1.getSingletonPaymaster06InitCode)(paymasterSigner)
170
173
  ]),
171
174
  nonce: nonce++
172
175
  });
@@ -174,7 +177,7 @@ const deployPaymasters = async ({ walletClient, publicClient }) => {
174
177
  to: constants_js_1.constants.deterministicDeployer,
175
178
  data: (0, viem_1.concat)([
176
179
  constants_js_1.constants.create2Salt,
177
- (0, constants_js_1.getSingletonPaymaster07InitCode)(walletClient.account.address)
180
+ (0, constants_js_1.getSingletonPaymaster07InitCode)(paymasterSigner)
178
181
  ]),
179
182
  nonce: nonce++
180
183
  });
@@ -182,23 +185,23 @@ const deployPaymasters = async ({ walletClient, publicClient }) => {
182
185
  to: constants_js_1.constants.deterministicDeployer,
183
186
  data: (0, viem_1.concat)([
184
187
  constants_js_1.constants.create2Salt,
185
- (0, constants_js_1.getSingletonPaymaster08InitCode)(walletClient.account.address)
188
+ (0, constants_js_1.getSingletonPaymaster08InitCode)(paymasterSigner)
186
189
  ]),
187
190
  nonce: nonce++
188
191
  });
189
192
  const [singletonPaymaster06, singletonPaymaster07, singletonPaymaster08] = [
190
193
  (0, viem_1.getContract)({
191
- address: (0, constants_js_1.getSingletonPaymaster06Address)(owner),
194
+ address: (0, constants_js_1.getSingletonPaymaster06Address)(paymasterSigner),
192
195
  abi: abi_js_1.singletonPaymaster06Abi,
193
196
  client: walletClient
194
197
  }),
195
198
  (0, viem_1.getContract)({
196
- address: (0, constants_js_1.getSingletonPaymaster07Address)(owner),
199
+ address: (0, constants_js_1.getSingletonPaymaster07Address)(paymasterSigner),
197
200
  abi: abi_js_1.singletonPaymaster07Abi,
198
201
  client: walletClient
199
202
  }),
200
203
  (0, viem_1.getContract)({
201
- address: (0, constants_js_1.getSingletonPaymaster08Address)(owner),
204
+ address: (0, constants_js_1.getSingletonPaymaster08Address)(paymasterSigner),
202
205
  abi: abi_js_1.singletonPaymaster08Abi,
203
206
  client: walletClient
204
207
  })
@@ -1 +1 @@
1
- {"version":3,"file":"singletonPaymasters.js","sourceRoot":"","sources":["../singletonPaymasters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"singletonPaymasters.js","sourceRoot":"","sources":["../singletonPaymasters.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,40 @@
1
- import { concat, encodeFunctionData, getCreate2Address, hexToBigInt, pad, parseAbi, toHex } from "viem";
2
- import { getAnvilWalletClient, getPublicClient } from "./utils.js";
1
+ import { http, concat, createTestClient, createWalletClient, encodeFunctionData, getCreate2Address, hexToBigInt, pad, parseAbi, parseEther, toHex } from "viem";
2
+ import { privateKeyToAccount } from "viem/accounts";
3
+ import { getChain, getPublicClient } from "./utils.js";
3
4
  const erc20Bytecode = concat([
4
5
  "0x60a060405234801561001057600080fd5b50604051610ff0380380610ff083398101604081905261002f9161022c565b6040518060400160405280600981526020016805465737445524332360bc1b8152506040518060400160405280600381526020016205432360ec1b815250816003908161007c919061034d565b506004610089828261034d565b5050506100a63369d3c21bcecceda10000006100b160201b60201c565b60ff166080526104a3565b6001600160a01b0382166100e457600060405163ec442f0560e01b81526004016100db9190610430565b60405180910390fd5b6100f0600083836100f4565b5050565b6001600160a01b03831661011f5780600260008282546101149190610454565b9091555061017e9050565b6001600160a01b0383166000908152602081905260409020548181101561015f5783818360405163391434e360e21b81526004016100db9392919061046d565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661019a576002805482900390556101b9565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101fc9190610495565b60405180910390a3505050565b60ff8116811461021857600080fd5b50565b805161022681610209565b92915050565b60006020828403121561024157610241600080fd5b600061024d848461021b565b949350505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b60028104600182168061029557607f821691505b6020821081036102a7576102a761026b565b50919050565b60006102266102b98381565b90565b6102c5836102ad565b815460001960089490940293841b1916921b91909117905550565b60006102ed8184846102bc565b505050565b818110156100f0576103056000826102e0565b6001016102f2565b601f8211156102ed576000818152602090206020601f850104810160208510156103345750805b6103466020601f8601048301826102f2565b5050505050565b81516001600160401b0381111561036657610366610255565b6103708254610281565b61037b82828561030d565b6020601f8311600181146103af57600084156103975750858201515b600019600886021c1981166002860217865550610408565b600085815260208120601f198616915b828110156103df57888501518255602094850194600190920191016103bf565b868310156103fb5784890151600019601f89166008021c191682555b6001600288020188555050505b505050505050565b60006001600160a01b038216610226565b61042a81610410565b82525050565b602081016102268284610421565b634e487b7160e01b600052601160045260246000fd5b808201808211156102265761022661043e565b8061042a565b6060810161047b8286610421565b6104886020830185610467565b61024d6040830184610467565b602081016102268284610467565b608051610b326104be60003960006101650152610b326000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063313ce56711610081578063a9059cbb1161005b578063a9059cbb146101cf578063dd62ed3e146101e2578063fb4dcefa1461022857600080fd5b8063313ce5671461016357806370a082311461019157806395d89b41146101c757600080fd5b806318160ddd116100b257806318160ddd1461012c57806323b872dd1461013d5780632d688ca81461015057600080fd5b806305ea5c22146100d957806306fdde03146100ee578063095ea7b31461010c575b600080fd5b6100ec6100e7366004610868565b61023b565b005b6100f661024b565b604051610103919061092c565b60405180910390f35b61011f61011a366004610944565b6102dd565b604051610103919061098b565b6002545b604051610103919061099f565b61011f61014b366004610868565b6102f7565b6100ec61015e366004610944565b61031b565b7f000000000000000000000000000000000000000000000000000000000000000060405161010391906109b6565b61013061019f3660046109c4565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100f6610329565b61011f6101dd366004610944565b610338565b6101306101f03660046109ed565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6100ec6102363660046109ed565b610346565b61024683838361037c565b505050565b60606003805461025a90610a4f565b80601f016020809104026020016040519081016040528092919081815260200182805461028690610a4f565b80156102d35780601f106102a8576101008083540402835291602001916102d3565b820191906000526020600020905b8154815290600101906020018083116102b657829003601f168201915b5050505050905090565b6000336102eb81858561037c565b60019150505b92915050565b600033610305858285610389565b610310858585610441565b506001949350505050565b61032582826104ec565b5050565b60606004805461025a90610a4f565b6000336102eb818585610441565b61032582826103778573ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610441565b6102468383836001610548565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461043b578181101561042c578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161042393929190610a84565b60405180910390fd5b61043b84848484036000610548565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166104915760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b73ffffffffffffffffffffffffffffffffffffffff82166104e15760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b61024683838361068e565b73ffffffffffffffffffffffffffffffffffffffff821661053c5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b6103256000838361068e565b73ffffffffffffffffffffffffffffffffffffffff84166105985760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b73ffffffffffffffffffffffffffffffffffffffff83166105e85760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160209081526040808320938716835292905220829055801561043b578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610680919061099f565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff83166106c65780600260008282546106bb9190610ae9565b909155506107589050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561072c578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161042393929190610a84565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff8216610781576002805482900390556107ad565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161080a919061099f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff82166102f1565b61083e81610817565b811461084957600080fd5b50565b80356102f181610835565b8061083e565b80356102f181610857565b60008060006060848603121561088057610880600080fd5b600061088c868661084c565b935050602061089d8682870161084c565b92505060406108ae8682870161085d565b9150509250925092565b60005b838110156108d35781810151838201526020016108bb565b50506000910152565b60006108e6825190565b8084526020840193506108fd8185602086016108b8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920192915050565b6020808252810161093d81846108dc565b9392505050565b6000806040838503121561095a5761095a600080fd5b6000610966858561084c565b92505060206109778582860161085d565b9150509250929050565b8015155b82525050565b602081016102f18284610981565b80610985565b602081016102f18284610999565b60ff8116610985565b602081016102f182846109ad565b6000602082840312156109d9576109d9600080fd5b60006109e5848461084c565b949350505050565b60008060408385031215610a0357610a03600080fd5b6000610a0f858561084c565b92505060206109778582860161084c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600281046001821680610a6357607f821691505b602082108103610a7557610a75610a20565b50919050565b61098581610817565b60608101610a928286610a7b565b610a9f6020830185610999565b6109e56040830184610999565b602081016102f18284610a7b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102f1576102f1610aba56fea2646970667358221220d40f68e247510ec8b7876d327ac47b949de248d0626aaf2670151c5e84ee6b4a64736f6c634300081a0033",
5
6
  pad(toHex(18n)) // constructor args (token_decimals)
6
7
  ]);
7
8
  const create2Salt = "0x0000000000000000000000000000000000000000000000000000000000000000";
8
- export const deployErc20Token = async (walletClient, publicClient) => {
9
+ export const getPaymasterUtilityWallet = async (anvilRpc) => {
10
+ const account = privateKeyToAccount("0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
11
+ // Check if account has balance
12
+ const publicClient = await getPublicClient(anvilRpc);
13
+ const balance = await publicClient.getBalance({ address: account.address });
14
+ // If no balance, set it to 1000 ETH
15
+ if (balance === 0n) {
16
+ // Create test client for setting balance
17
+ const testClient = createTestClient({
18
+ mode: "anvil",
19
+ transport: http(anvilRpc)
20
+ });
21
+ await testClient.setBalance({
22
+ address: account.address,
23
+ value: parseEther("1000")
24
+ });
25
+ }
26
+ // Create and return wallet client
27
+ const walletClient = createWalletClient({
28
+ chain: await getChain(anvilRpc),
29
+ account,
30
+ transport: http(anvilRpc)
31
+ });
32
+ return walletClient;
33
+ };
34
+ export const deployErc20Token = async (anvilRpc) => {
35
+ const publicClient = await getPublicClient(anvilRpc);
9
36
  if ((await publicClient.getCode({ address: erc20Address })) === undefined) {
37
+ const walletClient = await getPaymasterUtilityWallet(anvilRpc);
10
38
  await walletClient.sendTransaction({
11
39
  to: "0x4e59b44847b379578588920ca78fbf26c0b4956c",
12
40
  data: concat([create2Salt, erc20Bytecode])
@@ -26,10 +54,7 @@ export const tokenBalanceOf = async (holder, anvilRpc) => {
26
54
  return hexToBigInt(balance.data ?? "0x");
27
55
  };
28
56
  export const sudoMintTokens = async ({ amount, to, anvilRpc }) => {
29
- const walletClient = await getAnvilWalletClient({
30
- addressIndex: 0,
31
- anvilRpc
32
- });
57
+ const walletClient = await getPaymasterUtilityWallet(anvilRpc);
33
58
  await walletClient.sendTransaction({
34
59
  to: erc20Address,
35
60
  value: 0n,
@@ -1 +1 @@
1
- {"version":3,"file":"erc20-utils.js","sourceRoot":"","sources":["../../helpers/erc20-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAOH,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,KAAK,EACR,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAElE,MAAM,aAAa,GAAG,MAAM,CAAC;IACzB,o+PAAo+P;IACp+P,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,oCAAoC;CACvD,CAAC,CAAA;AAEF,MAAM,WAAW,GACb,oEAAoE,CAAA;AAExE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACjC,YAAqD,EACrD,YAA0B,EAC5B,EAAE;IACA,IAAI,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACxE,MAAM,YAAY,CAAC,eAAe,CAAC;YAC/B,EAAE,EAAE,4CAA4C;YAChD,IAAI,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SAC7C,CAAC,CAAA;IACN,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,MAAe,EAAE,QAAgB,EAAE,EAAE;IACtE,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;IAEpD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;QACpC,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACrB,GAAG,EAAE,QAAQ,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC,MAAM,CAAC;SACjB,CAAC;KACL,CAAC,CAAA;IAEF,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACjC,MAAM,EACN,EAAE,EACF,QAAQ,EAKX,EAAE,EAAE;IACD,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC;QAC5C,YAAY,EAAE,CAAC;QACf,QAAQ;KACX,CAAC,CAAA;IAEF,MAAM,YAAY,CAAC,eAAe,CAAC;QAC/B,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACrB,GAAG,EAAE,QAAQ,CAAC,CAAC,qCAAqC,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;SACrB,CAAC;KACL,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;IAC1C,IAAI,EAAE,4CAA4C;IAClD,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,aAAa;CAC1B,CAAC,CAAA"}
1
+ {"version":3,"file":"erc20-utils.js","sourceRoot":"","sources":["../../helpers/erc20-utils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { http, createPublicClient, createWalletClient, defineChain } from "viem";
2
- import { mnemonicToAccount } from "viem/accounts";
1
+ import { http, createPublicClient, defineChain } from "viem";
3
2
  import { erc20Address } from "./erc20-utils.js";
4
3
  import { RpcError, ValidationErrors } from "./schema.js";
5
4
  /// Returns the bigger of two BigInts.
@@ -42,16 +41,6 @@ export const getPublicClient = async (anvilRpc) => {
42
41
  pollingInterval: 100
43
42
  });
44
43
  };
45
- export const getAnvilWalletClient = async ({ addressIndex, anvilRpc }) => {
46
- const chain = await getChain(anvilRpc);
47
- return createWalletClient({
48
- account: mnemonicToAccount("test test test test test test test test test test test junk", {
49
- addressIndex
50
- }),
51
- chain,
52
- transport: http(anvilRpc)
53
- });
54
- };
55
44
  export const isTokenSupported = async (token) => {
56
45
  if (token !== erc20Address) {
57
46
  throw new RpcError("Token is not supported", ValidationErrors.InvalidFields);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,EAOJ,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAExD,sCAAsC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAkB,EAAE;IAC7D,MAAM,UAAU,GAAG,kBAAkB,CAAC;QAClC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;KAC1B,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAE7C,OAAO,WAAW,CAAC;QACf,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,SAAS,OAAO,EAAE;QACxB,cAAc,EAAE;YACZ,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE;YACL,OAAO,EAAE;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC;aACjB;SACJ;KACJ,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAChC,QAAgB,EACuB,EAAE;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE;IAC7B,mCAAmC;IACnC,+CAA+C;IAC/C,IAAI;IACJ,wCAAwC;IACxC,4DAA4D;IAC5D,GAAG;KACN,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEtC,OAAO,kBAAkB,CAAC;QACtB,KAAK;QACL,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,GAAG;KACvB,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACvC,YAAY,EACZ,QAAQ,EACiC,EAE3C,EAAE;IACA,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEtC,OAAO,kBAAkB,CAAC;QACtB,OAAO,EAAE,iBAAiB,CACtB,6DAA6D,EAC7D;YACI,YAAY;SACf,CACJ;QACD,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;KAC5B,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACrD,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CACd,wBAAwB,EACxB,gBAAgB,CAAC,aAAa,CACjC,CAAA;IACL,CAAC;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,EAKJ,kBAAkB,EAClB,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAExD,sCAAsC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAkB,EAAE;IAC7D,MAAM,UAAU,GAAG,kBAAkB,CAAC;QAClC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;KAC1B,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAE7C,OAAO,WAAW,CAAC;QACf,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,SAAS,OAAO,EAAE;QACxB,cAAc,EAAE;YACZ,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE;YACL,OAAO,EAAE;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC;aACjB;SACJ;KACJ,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAChC,QAAgB,EACuB,EAAE;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE;IAC7B,mCAAmC;IACnC,+CAA+C;IAC/C,IAAI;IACJ,wCAAwC;IACxC,4DAA4D;IAC5D,GAAG;KACN,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEtC,OAAO,kBAAkB,CAAC;QACtB,KAAK;QACL,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,GAAG;KACvB,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACrD,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CACd,wBAAwB,EACxB,gBAAgB,CAAC,aAAa,CACjC,CAAA;IACL,CAAC;AACL,CAAC,CAAA"}
package/_esm/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import cors from "@fastify/cors";
2
2
  import Fastify from "fastify";
3
3
  import { defineInstance } from "prool";
4
- import { http, createPublicClient } from "viem";
5
- import { createBundlerClient } from "viem/account-abstraction";
6
- import { deployErc20Token } from "./helpers/erc20-utils.js";
7
- import { getAnvilWalletClient, getChain } from "./helpers/utils.js";
4
+ import { http, createWalletClient } from "viem";
5
+ import { privateKeyToAccount } from "viem/accounts";
6
+ import { deployErc20Token, erc20Address, sudoMintTokens } from "./helpers/erc20-utils.js";
7
+ import { getChain } from "./helpers/utils.js";
8
8
  import { createRpcHandler } from "./relay.js";
9
9
  import { deployPaymasters } from "./singletonPaymasters.js";
10
10
  export const paymaster = defineInstance(({ anvilRpc, altoRpc, port: _port, host: _host = "localhost" }) => {
@@ -15,29 +15,24 @@ export const paymaster = defineInstance(({ anvilRpc, altoRpc, port: _port, host:
15
15
  port: _port,
16
16
  name: "mock-paymaster",
17
17
  start: async ({ port = _port }) => {
18
- const chain = await getChain(anvilRpc);
19
- const walletClient = await getAnvilWalletClient({
20
- anvilRpc,
21
- addressIndex: 1
22
- });
23
- const publicClient = createPublicClient({
24
- transport: http(anvilRpc),
25
- chain
18
+ const paymasterSigner = createWalletClient({
19
+ chain: await getChain(anvilRpc),
20
+ account: privateKeyToAccount("0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"),
21
+ transport: http(anvilRpc)
26
22
  });
27
- const bundler = createBundlerClient({
28
- chain,
29
- transport: http(altoRpc)
23
+ await deployPaymasters({
24
+ anvilRpc,
25
+ paymasterSigner: paymasterSigner.account.address
30
26
  });
31
- await deployPaymasters({ walletClient, publicClient });
32
- await deployErc20Token(walletClient, publicClient);
27
+ await deployErc20Token(anvilRpc);
33
28
  app.register(cors, {
34
29
  origin: "*",
35
30
  methods: ["POST", "GET", "OPTIONS"]
36
31
  });
37
32
  const rpcHandler = createRpcHandler({
38
- bundler,
39
- publicClient,
40
- paymasterSigner: walletClient
33
+ altoRpc,
34
+ anvilRpc,
35
+ paymasterSigner
41
36
  });
42
37
  app.post("/", {}, rpcHandler);
43
38
  app.get("/ping", async (_request, reply) => {
@@ -50,4 +45,5 @@ export const paymaster = defineInstance(({ anvilRpc, altoRpc, port: _port, host:
50
45
  }
51
46
  };
52
47
  });
48
+ export { erc20Address, sudoMintTokens };
53
49
  //# sourceMappingURL=index.js.map
package/_esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CACnC,CAAC,EACG,QAAQ,EACR,OAAO,EACP,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,GAAG,WAAW,EACwC,EAAE,EAAE;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;IAEvB,OAAO;QACH,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACtC,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC;gBAC5C,QAAQ;gBACR,YAAY,EAAE,CAAC;aAClB,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,kBAAkB,CAAC;gBACpC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;gBACzB,KAAK;aACR,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,mBAAmB,CAAC;gBAChC,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;aAC3B,CAAC,CAAA;YAEF,MAAM,gBAAgB,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAA;YACtD,MAAM,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;YAElD,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACf,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;aACtC,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,gBAAgB,CAAC;gBAChC,OAAO;gBACP,YAAY;gBACZ,eAAe,EAAE,YAAY;aAChC,CAAC,CAAA;YACF,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;YAE7B,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACvC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACb,GAAG,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EACH,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CACnC,CAAC,EACG,QAAQ,EACR,OAAO,EACP,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,GAAG,WAAW,EACwC,EAAE,EAAE;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;IAEvB,OAAO;QACH,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE;YAC9B,MAAM,eAAe,GAAG,kBAAkB,CAAC;gBACvC,KAAK,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC;gBAC/B,OAAO,EAAE,mBAAmB,CACxB,oEAAoE,CACvE;gBACD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;aAC5B,CAAC,CAAA;YAEF,MAAM,gBAAgB,CAAC;gBACnB,QAAQ;gBACR,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO;aACnD,CAAC,CAAA;YACF,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YAEhC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACf,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;aACtC,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,gBAAgB,CAAC;gBAChC,OAAO;gBACP,QAAQ;gBACR,eAAe;aAClB,CAAC,CAAA;YACF,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;YAE7B,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACvC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACb,GAAG,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAA"}