@graphprotocol/grc-20 0.19.0 → 0.20.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.
@@ -1,27 +1,28 @@
1
- import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
1
+ import { privateKeyToAccount } from 'viem/accounts';
2
2
  import { it } from 'vitest';
3
3
  import { Ipfs } from '../index.js';
4
4
  import { createEntity } from './graph/create-entity.js';
5
- import { getSmartAccountWalletClient } from './smart-wallet.js';
5
+ import { createSpace } from './graph/create-space.js';
6
+ import { getWalletClient } from './smart-wallet.js';
6
7
  it.skip('should create a space', async () => {
7
- const addressPrivateKey = generatePrivateKey();
8
+ const addressPrivateKey = '0xTODO';
8
9
  const { address } = privateKeyToAccount(addressPrivateKey);
9
- const smartAccountWalletClient = await getSmartAccountWalletClient({
10
+ const smartAccountWalletClient = await getWalletClient({
10
11
  privateKey: addressPrivateKey,
11
12
  });
12
13
  console.log('addressPrivateKey', addressPrivateKey);
13
14
  console.log('address', address);
14
15
  // console.log('smartAccountWalletClient', smartAccountWalletClient);
15
- // const space = await createSpace({
16
- // editorAddress: address,
17
- // name: 'test (nik)',
18
- // network: 'TESTNET',
19
- // });
20
- // console.log('space', space);
21
- const spaceId = '20140df6-3249-4945-9264-782ca8c9ba4f';
16
+ const space = await createSpace({
17
+ editorAddress: address,
18
+ name: 'test (nik2)',
19
+ network: 'TESTNET',
20
+ });
21
+ console.log('space', space);
22
+ const spaceId = space.id;
22
23
  const { ops, id } = await createEntity({
23
- name: 'test (nik)',
24
- description: 'test (nik)',
24
+ name: 'test (nik2)',
25
+ description: 'test (nik2)',
25
26
  });
26
27
  console.log('entity id', id);
27
28
  const { cid } = await Ipfs.publishEdit({
@@ -41,6 +42,8 @@ it.skip('should create a space', async () => {
41
42
  console.log('to', to);
42
43
  console.log('data', data);
43
44
  const txResult = await smartAccountWalletClient.sendTransaction({
45
+ // @ts-expect-error - TODO: fix the types error
46
+ account: smartAccountWalletClient.account,
44
47
  to: to,
45
48
  value: 0n,
46
49
  data: data,
@@ -1 +1 @@
1
- {"version":3,"file":"full-flow-test.test.js","sourceRoot":"","sources":["../../src/full-flow-test.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IAC1C,MAAM,iBAAiB,GAAG,kBAAkB,EAAE,CAAC;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,wBAAwB,GAAG,MAAM,2BAA2B,CAAC;QACjE,UAAU,EAAE,iBAAiB;KAC9B,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,qEAAqE;IAErE,oCAAoC;IACpC,4BAA4B;IAC5B,wBAAwB;IACxB,wBAAwB;IACxB,MAAM;IAEN,+BAA+B;IAC/B,MAAM,OAAO,GAAG,sCAAsC,CAAC;IAEvD,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,YAAY,CAAC;QACrC,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;KAC1B,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,EAAE,WAAW;QACjB,GAAG;QACH,MAAM,EAAE,OAAO;KAChB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,sDAAsD,OAAO,gBAAgB,EAAE;QACxG,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;KAC9B,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC9C,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;IAEpC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,eAAe,CAAC;QAC9D,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"full-flow-test.test.js","sourceRoot":"","sources":["../../src/full-flow-test.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IAC1C,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,wBAAwB,GAAG,MAAM,eAAe,CAAC;QACrD,UAAU,EAAE,iBAAiB;KAC9B,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,qEAAqE;IAErE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC;QAC9B,aAAa,EAAE,OAAO;QACtB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;KACnB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IAEzB,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,YAAY,CAAC;QACrC,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,aAAa;KAC3B,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,EAAE,WAAW;QACjB,GAAG;QACH,MAAM,EAAE,OAAO;KAChB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,sDAAsD,OAAO,gBAAgB,EAAE;QACxG,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;KAC9B,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC9C,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;IAEpC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,eAAe,CAAC;QAC9D,+CAA+C;QAC/C,OAAO,EAAE,wBAAwB,CAAC,OAAO;QACzC,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC,EAAE,KAAK,CAAC,CAAC"}
@@ -1,7 +1,10 @@
1
+ import type { Op } from "../types.js";
1
2
  type Params = {
2
3
  editorAddress: string;
3
4
  name: string;
4
- network?: 'TESTNET' | 'MAINNET';
5
+ network?: "TESTNET" | "MAINNET";
6
+ ops?: Op[];
7
+ spaceEntityId?: string;
5
8
  };
6
9
  /**
7
10
  * Creates a space with the given name and editor address.
@@ -1 +1 @@
1
- {"version":3,"file":"create-space.d.ts","sourceRoot":"","sources":["../../../src/graph/create-space.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAU,QAAQ,MAAM;;EAgB/C,CAAC"}
1
+ {"version":3,"file":"create-space.d.ts","sourceRoot":"","sources":["../../../src/graph/create-space.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,EAAE,EAAC,MAAM,aAAa,CAAA;AAGnC,KAAK,MAAM,GAAG;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC/B,GAAG,CAAC,EAAE,EAAE,EAAE,CAAA;IACV,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAU,QAAQ,MAAM;;EA8B/C,CAAA"}
@@ -1,18 +1,29 @@
1
- import { MAINNET_API_ORIGIN, TESTNET_API_ORIGIN } from './constants.js';
1
+ import { MAINNET_API_ORIGIN, TESTNET_API_ORIGIN } from "./constants.js";
2
2
  /**
3
3
  * Creates a space with the given name and editor address.
4
4
  */
5
5
  export const createSpace = async (params) => {
6
- const apiHost = params.network === 'TESTNET' ? TESTNET_API_ORIGIN : MAINNET_API_ORIGIN;
7
- console.log('apiHost', apiHost);
6
+ const apiHost = params.network === "TESTNET" ? TESTNET_API_ORIGIN : MAINNET_API_ORIGIN;
7
+ console.log("apiHost", apiHost);
8
+ const formData = new FormData();
9
+ formData.append("name", params.name);
10
+ formData.append("editorAddress", params.editorAddress);
11
+ if (params.spaceEntityId) {
12
+ formData.append("spaceEntityId", params.spaceEntityId);
13
+ }
14
+ if (params.ops) {
15
+ formData.append("ops", JSON.stringify(params.ops));
16
+ }
8
17
  const result = await fetch(`${apiHost}/deploy`, {
9
- method: 'POST',
18
+ method: "POST",
10
19
  body: JSON.stringify({
11
20
  spaceName: params.name,
12
21
  initialEditorAddress: params.editorAddress,
22
+ ops: params.ops,
23
+ spaceEntityId: params.spaceEntityId,
13
24
  }),
14
25
  headers: {
15
- 'Content-Type': 'application/json',
26
+ "Content-Type": "application/json",
16
27
  },
17
28
  });
18
29
  const jsonResult = await result.json();
@@ -1 +1 @@
1
- {"version":3,"file":"create-space.js","sourceRoot":"","sources":["../../../src/graph/create-space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQxE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE;QAC9C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,oBAAoB,EAAE,MAAM,CAAC,aAAa;SAC3C,CAAC;QACF,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC,CAAC"}
1
+ {"version":3,"file":"create-space.js","sourceRoot":"","sources":["../../../src/graph/create-space.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAA;AAUrE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAA;IACtF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAE/B,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IACtD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QAChB,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE;QAC/C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,oBAAoB,EAAE,MAAM,CAAC,aAAa;YAC1C,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,aAAa,EAAE,MAAM,CAAC,aAAa;SACnC,CAAC;QACF,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;SAClC;KACD,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IACtC,OAAO,EAAC,EAAE,EAAE,UAAU,CAAC,OAAO,EAAC,CAAA;AAChC,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Hex } from 'viem';
1
+ import type { Hex, WalletClient } from 'viem';
2
2
  import type { GeoSmartAccount } from './types.js';
3
3
  type GetSmartAccountWalletClientParams = {
4
4
  privateKey: Hex;
@@ -21,5 +21,6 @@ type GetSmartAccountWalletClientParams = {
21
21
  * @returns – {@link SmartAccountClient}
22
22
  */
23
23
  export declare const getSmartAccountWalletClient: ({ privateKey, rpcUrl, }: GetSmartAccountWalletClientParams) => Promise<GeoSmartAccount>;
24
+ export declare const getWalletClient: ({ privateKey, rpcUrl, }: GetSmartAccountWalletClientParams) => Promise<WalletClient>;
24
25
  export {};
25
26
  //# sourceMappingURL=smart-wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-wallet.d.ts","sourceRoot":"","sources":["../../src/smart-wallet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAS,GAAG,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAUlD,KAAK,iCAAiC,GAAG;IACvC,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,2BAA2B,GAAU,yBAG/C,iCAAiC,KAAG,OAAO,CAAC,eAAe,CA4D7D,CAAC"}
1
+ {"version":3,"file":"smart-wallet.d.ts","sourceRoot":"","sources":["../../src/smart-wallet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAS,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAIrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAWlD,KAAK,iCAAiC,GAAG;IACvC,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAyBF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,2BAA2B,GAAU,yBAG/C,iCAAiC,KAAG,OAAO,CAAC,eAAe,CA2C7D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,yBAGnC,iCAAiC,KAAG,OAAO,CAAC,YAAY,CAS1D,CAAC"}
@@ -1,15 +1,36 @@
1
1
  import { createSmartAccountClient } from 'permissionless';
2
2
  import { toSafeSmartAccount } from 'permissionless/accounts';
3
3
  import { createPimlicoClient } from 'permissionless/clients/pimlico';
4
- import { createPublicClient, http } from 'viem';
4
+ import { createPublicClient, createWalletClient, http } from 'viem';
5
5
  import { entryPoint07Address } from 'viem/account-abstraction';
6
6
  import { privateKeyToAccount } from 'viem/accounts';
7
- const DEFAULT_RPC_URL = 'https://rpc-geo-genesis-h0q2s21xx8.t.conduit.xyz';
7
+ const MAINNET_DEFAULT_RPC_URL = 'https://rpc-geo-genesis-h0q2s21xx8.t.conduit.xyz';
8
+ const TESTNET_DEFAULT_RPC_URL = 'https://rpc-geo-test-zc16z3tcvf.t.conduit.xyz';
8
9
  /**
9
10
  * We provide a fallback API key for gas sponsorship for the duration of the
10
11
  * Geo Genesis early access period. This API key is gas-limited.
11
12
  */
12
13
  const DEFAULT_API_KEY = 'pim_KqHm63txxhbCYjdDaWaHqH';
14
+ const createChain = (network, rpcUrl) => {
15
+ const chain = {
16
+ id: network === 'TESTNET' ? Number('19411') : Number('80451'),
17
+ name: 'Geo Genesis',
18
+ nativeCurrency: {
19
+ name: 'Ethereum',
20
+ symbol: 'ETH',
21
+ decimals: 18,
22
+ },
23
+ rpcUrls: {
24
+ default: {
25
+ http: [rpcUrl ?? (network === 'TESTNET' ? TESTNET_DEFAULT_RPC_URL : MAINNET_DEFAULT_RPC_URL)],
26
+ },
27
+ public: {
28
+ http: [rpcUrl ?? (network === 'TESTNET' ? TESTNET_DEFAULT_RPC_URL : MAINNET_DEFAULT_RPC_URL)],
29
+ },
30
+ },
31
+ };
32
+ return chain;
33
+ };
13
34
  // type GeoSmartAccountWalletClient = Promise<ReturnType<typeof createSmartAccountClient>>;
14
35
  /**
15
36
  * Get a smart account wallet client for your Geo account.
@@ -27,28 +48,12 @@ const DEFAULT_API_KEY = 'pim_KqHm63txxhbCYjdDaWaHqH';
27
48
  * @param params – {@link GetSmartAccountWalletClientParams}
28
49
  * @returns – {@link SmartAccountClient}
29
50
  */
30
- export const getSmartAccountWalletClient = async ({ privateKey, rpcUrl = DEFAULT_RPC_URL, }) => {
31
- const GEOGENESIS = {
32
- id: Number('80451'),
33
- name: 'Geo Genesis',
34
- nativeCurrency: {
35
- name: 'Ethereum',
36
- symbol: 'ETH',
37
- decimals: 18,
38
- },
39
- rpcUrls: {
40
- default: {
41
- http: [rpcUrl],
42
- },
43
- public: {
44
- http: [rpcUrl],
45
- },
46
- },
47
- };
51
+ export const getSmartAccountWalletClient = async ({ privateKey, rpcUrl = MAINNET_DEFAULT_RPC_URL, }) => {
52
+ const chain = createChain('MAINNET', rpcUrl);
48
53
  const transport = http(rpcUrl);
49
54
  const publicClient = createPublicClient({
50
55
  transport,
51
- chain: GEOGENESIS,
56
+ chain,
52
57
  });
53
58
  const safeAccount = await toSafeSmartAccount({
54
59
  client: publicClient,
@@ -63,14 +68,14 @@ export const getSmartAccountWalletClient = async ({ privateKey, rpcUrl = DEFAULT
63
68
  const bundlerTransport = http(`https://api.pimlico.io/v2/80451/rpc?apikey=${DEFAULT_API_KEY}`);
64
69
  const paymasterClient = createPimlicoClient({
65
70
  transport: bundlerTransport,
66
- chain: GEOGENESIS,
71
+ chain,
67
72
  entryPoint: {
68
73
  address: entryPoint07Address,
69
74
  version: '0.7',
70
75
  },
71
76
  });
72
77
  const smartAccount = createSmartAccountClient({
73
- chain: GEOGENESIS,
78
+ chain,
74
79
  account: safeAccount,
75
80
  paymaster: paymasterClient,
76
81
  bundlerTransport,
@@ -82,4 +87,14 @@ export const getSmartAccountWalletClient = async ({ privateKey, rpcUrl = DEFAULT
82
87
  });
83
88
  return smartAccount;
84
89
  };
90
+ export const getWalletClient = async ({ privateKey, rpcUrl = TESTNET_DEFAULT_RPC_URL, }) => {
91
+ const chain = createChain('TESTNET', rpcUrl);
92
+ const transport = http(rpcUrl);
93
+ const wallet = createWalletClient({
94
+ account: privateKeyToAccount(privateKey),
95
+ chain,
96
+ transport,
97
+ });
98
+ return wallet;
99
+ };
85
100
  //# sourceMappingURL=smart-wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../src/smart-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,eAAe,GAAG,kDAAkD,CAAC;AAE3E;;;GAGG;AACH,MAAM,eAAe,GAAG,4BAA4B,CAAC;AAOrD,2FAA2F;AAE3F;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,EAChD,UAAU,EACV,MAAM,GAAG,eAAe,GACU,EAA4B,EAAE;IAChE,MAAM,UAAU,GAAU;QACxB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC;QACnB,IAAI,EAAE,aAAa;QACnB,cAAc,EAAE;YACd,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,MAAM,CAAC;aACf;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,MAAM,CAAC;aACf;SACF;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,SAAS;QACT,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;QAC3C,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACzC,UAAU,EAAE;YACV,4BAA4B;YAC5B,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,KAAK;SACf;QACD,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,8CAA8C,eAAe,EAAE,CAAC,CAAC;IAC/F,MAAM,eAAe,GAAG,mBAAmB,CAAC;QAC1C,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE;YACV,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,wBAAwB,CAAC;QAC5C,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,eAAe;QAC1B,gBAAgB;QAChB,aAAa,EAAE;YACb,kBAAkB,EAAE,KAAK,IAAI,EAAE;gBAC7B,OAAO,CAAC,MAAM,eAAe,CAAC,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAAC;YACjE,CAAC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../src/smart-wallet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphprotocol/grc-20",
3
- "version": "0.19.0",
3
+ "version": "0.20.1",
4
4
  "license": "MIT",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",