@vlayer/sdk 0.1.0-nightly-20250107-b50d6d2 → 0.1.0-nightly-20250109-32db1db

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * as testHelpers from "./api/helpers.js";
2
1
  export { preverifyEmail } from "./api/email/preverify.js";
3
2
  export { createVlayerClient } from "./api/lib/client.js";
4
3
  export * from "./api/lib/types/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,cAAc,iBAAiB,CAAC;AAEhC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,cAAc,iBAAiB,CAAC;AAEhC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- export * as testHelpers from "./api/helpers.js";
2
1
  export { preverifyEmail } from "./api/email/preverify.js";
3
2
  export { createVlayerClient } from "./api/lib/client.js";
4
3
  export * from "./api/lib/types/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,cAAc,iBAAiB,CAAC;AAEhC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,cAAc,iBAAiB,CAAC;AAEhC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC"}
@@ -69,13 +69,57 @@ export type WebProverSessionConfig = {
69
69
  steps: WebProofStep[];
70
70
  } | EmptyWebProverSessionConfig;
71
71
  export declare function isEmptyWebProverSessionConfig(config: WebProverSessionConfig): config is EmptyWebProverSessionConfig;
72
+ export declare function getRedactionConfig(provingSessionConfig: WebProverSessionConfig): RedactionConfig;
72
73
  export type WebProofStep = WebProofStepNotarize | WebProofStepExpectUrl | WebProofStepStartPage;
73
74
  export type UrlPattern = Branded<string, "UrlPattern">;
74
75
  export type Url = Branded<UrlPattern, "Url">;
76
+ type RedactRequestHeaders = {
77
+ request: {
78
+ headers: string[];
79
+ };
80
+ };
81
+ type RedactRequestHeadersExcept = {
82
+ request: {
83
+ headers_except: string[];
84
+ };
85
+ };
86
+ type RedactRequestUrlQuery = {
87
+ request: {
88
+ url_query: string[];
89
+ };
90
+ };
91
+ type RedactRequestUrlQueryExcept = {
92
+ request: {
93
+ url_query_except: string[];
94
+ };
95
+ };
96
+ type RedactResponseHeaders = {
97
+ response: {
98
+ headers: string[];
99
+ };
100
+ };
101
+ type RedactResponseHeadersExcept = {
102
+ response: {
103
+ headers_except: string[];
104
+ };
105
+ };
106
+ type RedactResponseJsonBody = {
107
+ response: {
108
+ json_body: string[];
109
+ };
110
+ };
111
+ type RedactResponseJsonBodyExcept = {
112
+ response: {
113
+ json_body_except: string[];
114
+ };
115
+ };
116
+ export type RedactionItem = RedactRequestHeaders | RedactRequestHeadersExcept | RedactRequestUrlQuery | RedactRequestUrlQueryExcept | RedactResponseHeaders | RedactResponseHeadersExcept | RedactResponseJsonBody | RedactResponseJsonBodyExcept;
117
+ export type RedactionConfig = RedactionItem[];
75
118
  export type WebProofStepNotarize = Branded<{
76
119
  url: UrlPattern;
77
120
  method: string;
78
121
  label: string;
122
+ redact: RedactionConfig;
79
123
  step: typeof EXTENSION_STEP.notarize;
80
124
  }, "notarize">;
81
125
  export type WebProofStepStartPage = Branded<{
@@ -101,4 +145,5 @@ export declare class StepValidationError extends Error {
101
145
  }
102
146
  export declare function assertUrl(url: string): asserts url is Url;
103
147
  export declare function assertUrlPattern(urlPattern: string): asserts urlPattern is UrlPattern;
148
+ export {};
104
149
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/web-proof-commons/types/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/web-proof-commons/types/message.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,13 @@ export function isEmptyWebProverSessionConfig(config) {
31
31
  config.logoUrl === null &&
32
32
  config.steps.length === 0);
33
33
  }
34
+ export function getRedactionConfig(provingSessionConfig) {
35
+ const notarizeStep = provingSessionConfig.steps.find((step) => step.step === "notarize");
36
+ const redactionConfig = notarizeStep !== undefined
37
+ ? notarizeStep.redact
38
+ : [];
39
+ return redactionConfig;
40
+ }
34
41
  export var StepValidationErrors;
35
42
  (function (StepValidationErrors) {
36
43
  StepValidationErrors["InvalidUrl"] = "InvalidUrl";
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/web-proof-commons/types/message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,QAAQ,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAKX,MAAM,CAAN,IAAkB,eAGjB;AAHD,WAAkB,eAAe;IAC/B,sDAAmC,CAAA;IACnC,kEAA+C,CAAA;AACjD,CAAC,EAHiB,eAAe,KAAf,eAAe,QAGhC;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,4CAAyB,CAAA;IACzB,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,kCAAe,CAAA;AACjB,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAcD,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,+CAAuB,CAAA;IACvB,iDAAyB,CAAA;IACzB,qDAA6B,CAAA;IAC7B,+CAAuB,CAAA;IACvB,2DAAmC,CAAA;AACrC,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAoCD,MAAM,UAAU,6BAA6B,CAC3C,MAA8B;IAE9B,OAAO,CACL,MAAM,CAAC,SAAS,KAAK,IAAI;QACzB,MAAM,CAAC,UAAU,KAAK,IAAI;QAC1B,MAAM,CAAC,OAAO,KAAK,IAAI;QACvB,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAC1B,CAAC;AACJ,CAAC;AAuCD,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;IACzB,+DAAuC,CAAA;AACzC,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,sDAAwB,CAAA;IACxB,qEAAuC,CAAA;AACzC,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe,EAAE,IAA0B;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,mBAAmB,CAC3B,GAAG,0BAA0B,CAAC,UAAU,KAAK,GAAG,EAAE,EAClD,oBAAoB,CAAC,UAAU,CAChC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,UAAkB;IAElB,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,mBAAmB,CAC3B,GAAG,0BAA0B,CAAC,iBAAiB,KAAK,UAAU,GAAG,EACjE,oBAAoB,CAAC,iBAAiB,CACvC,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/web-proof-commons/types/message.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- declare const __brand: unique symbol;
2
1
  type Brand<B> = {
3
- [__brand]: B;
2
+ __brand: B;
4
3
  };
5
4
  export type Branded<T, B> = T & Brand<B>;
6
5
  export declare function isDefined<T>(value: T | undefined, message?: string): asserts value is T;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/web-proof-commons/utils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,KAAK,KAAK,CAAC,CAAC,IAAI;IAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AACjC,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC,wBAAgB,SAAS,CAAC,CAAC,EACzB,KAAK,EAAE,CAAC,GAAG,SAAS,EACpB,OAAO,GAAE,MAA6B,GACrC,OAAO,CAAC,KAAK,IAAI,CAAC,CAIpB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/web-proof-commons/utils.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC;AAC/B,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC,wBAAgB,SAAS,CAAC,CAAC,EACzB,KAAK,EAAE,CAAC,GAAG,SAAS,EACpB,OAAO,GAAE,MAA6B,GACrC,OAAO,CAAC,KAAK,IAAI,CAAC,CAIpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/web-proof-commons/utils.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,SAAS,CACvB,KAAoB,EACpB,UAAkB,oBAAoB;IAEtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/web-proof-commons/utils.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CACvB,KAAoB,EACpB,UAAkB,oBAAoB;IAEtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "types": "./dist/config/index.d.ts"
16
16
  }
17
17
  },
18
- "version": "0.1.0-nightly-20250107-b50d6d2",
18
+ "version": "0.1.0-nightly-20250109-32db1db",
19
19
  "scripts": {
20
20
  "build": "bun tsc --project tsconfig.build.json && bun tsc-alias",
21
21
  "test:unit": "vitest --run",
@@ -1,39 +0,0 @@
1
- import { type Abi, type Address, type Chain, type ContractFunctionArgs, type ContractFunctionName, type Hex, type PublicClient, walletActions } from "viem";
2
- import type { ContractSpec, ContractArg } from "./lib/types/ethereum.js";
3
- export declare const chainIds: 31337[];
4
- export declare function createAnvilClient(chainId?: number): ReturnType<typeof walletActions> & PublicClient;
5
- export declare function deployContract(contractSpec: ContractSpec, args?: ContractArg[], chainId?: number): Promise<Address>;
6
- type DeploySpec<T extends Abi> = {
7
- abi: T;
8
- bytecode: {
9
- object: Hex;
10
- };
11
- };
12
- type Tail<T> = T extends readonly [unknown, ...infer U] ? U : [];
13
- export declare function deployProverVerifier<P extends Abi, V extends Abi>(proverSpec: DeploySpec<P>, verifierSpec: DeploySpec<V>, args?: {
14
- prover?: ContractArg[];
15
- verifier?: Tail<ContractArg>[];
16
- }, chainId?: number): Promise<`0x${string}`[]>;
17
- export declare function call<T extends Abi, F extends ContractFunctionName<T, "pure" | "view">>(abi: T, address: Address, functionName: F, args?: ContractFunctionArgs<T, "pure" | "view", F>, chainId?: number): Promise<import("viem").ContractFunctionReturnType<T, "pure" | "view", F, ContractFunctionArgs<T, "pure" | "view", F>>>;
18
- export declare function writeContract<T extends Abi, F extends ContractFunctionName<T, "payable" | "nonpayable">>(address: Address, abi: T, functionName: F, args: ContractFunctionArgs<T, "payable" | "nonpayable", F>, sender?: Address, chain?: Chain): Promise<import("viem").TransactionReceipt>;
19
- export declare const getTestAccount: () => {
20
- address: Address;
21
- nonceManager?: import("viem").NonceManager | undefined;
22
- sign: (parameters: {
23
- hash: import("viem").Hash;
24
- }) => Promise<Hex>;
25
- experimental_signAuthorization: (parameters: import("viem/experimental").Authorization) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
26
- signMessage: ({ message }: {
27
- message: import("viem").SignableMessage;
28
- }) => Promise<Hex>;
29
- signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
30
- serializer?: serializer | undefined;
31
- } | undefined) => Promise<import("viem").IsNarrowable<import("viem").TransactionSerialized<import("viem").GetTransactionType<transaction>>, Hex> extends true ? import("viem").TransactionSerialized<import("viem").GetTransactionType<transaction>> : Hex>;
32
- signTypedData: <const typedData extends import("viem").TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
33
- publicKey: Hex;
34
- source: "privateKey";
35
- type: "local";
36
- };
37
- export declare const getTestAddresses: (chainId?: number) => Promise<Address[]>;
38
- export {};
39
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EAER,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAEzB,KAAK,GAAG,EAIR,KAAK,YAAY,EACjB,aAAa,EAEd,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIhE,eAAO,MAAM,QAAQ,SAAe,CAAC;AAErC,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,MAAmB,GAC3B,UAAU,CAAC,OAAO,aAAa,CAAC,GAAG,YAAY,CAajD;AAED,wBAAsB,cAAc,CAClC,YAAY,EAAE,YAAY,EAC1B,IAAI,GAAE,WAAW,EAAO,EACxB,OAAO,GAAE,MAAmB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAsBlB;AAED,KAAK,UAAU,CAAC,CAAC,SAAS,GAAG,IAAI;IAC/B,GAAG,EAAE,CAAC,CAAC;IACP,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG,CAAC;KACb,CAAC;CACH,CAAC;AAEF,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAEjE,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,GAAG,EACrE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,EAC3B,IAAI,GAAE;IACJ,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;CAC3B,EACN,OAAO,GAAE,MAAmB,4BAmB7B;AAED,wBAAsB,IAAI,CACxB,CAAC,SAAS,GAAG,EACb,CAAC,SAAS,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,EAElD,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,CAAC,EACf,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EAClD,OAAO,GAAE,MAAmB,0HAU7B;AAED,wBAAsB,aAAa,CACjC,CAAC,SAAS,GAAG,EACb,CAAC,SAAS,oBAAoB,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,EAE3D,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,oBAAoB,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,EAAE,CAAC,CAAC,EAC1D,MAAM,CAAC,EAAE,OAAO,EAChB,KAAK,GAAE,KAAe,8CA6BvB;AAED,eAAO,MAAM,cAAc;;;;;;;;;;oTAjGJ,CAAC;kBAEtB,CAAA;;;;;;CA+F2E,CAAC;AAE9E,eAAO,MAAM,gBAAgB,aAClB,MAAM,KACd,OAAO,CAAC,OAAO,EAAE,CAA8C,CAAC"}
@@ -1,73 +0,0 @@
1
- import { createTestClient, http, publicActions, walletActions, } from "viem";
2
- import { privateKeyToAccount, generatePrivateKey } from "viem/accounts";
3
- import { foundry } from "viem/chains";
4
- const rpcUrls = new Map([[foundry.id, http()]]);
5
- export const chainIds = [foundry.id];
6
- export function createAnvilClient(chainId = foundry.id) {
7
- const transport = rpcUrls.get(chainId);
8
- if (transport == undefined) {
9
- throw Error(`No url for chainId ${chainId}`);
10
- }
11
- return createTestClient({
12
- chain: foundry,
13
- mode: "anvil",
14
- transport: transport,
15
- })
16
- .extend(publicActions)
17
- .extend(walletActions);
18
- }
19
- export async function deployContract(contractSpec, args = [], chainId = foundry.id) {
20
- const ethClient = createAnvilClient(chainId);
21
- const [deployer] = await ethClient.getAddresses();
22
- const txHash = await ethClient.deployContract({
23
- abi: contractSpec.abi,
24
- bytecode: contractSpec.bytecode.object,
25
- account: deployer,
26
- args,
27
- chain: foundry,
28
- });
29
- const receipt = await ethClient.waitForTransactionReceipt({ hash: txHash });
30
- if (receipt.status != "success") {
31
- throw new Error(`Contract deployment failed with status: ${receipt.status}`);
32
- }
33
- return receipt.contractAddress;
34
- }
35
- export async function deployProverVerifier(proverSpec, verifierSpec, args = {}, chainId = foundry.id) {
36
- console.log("Deploying prover");
37
- const proverAddress = await deployContract(proverSpec, args.prover ?? [], chainId);
38
- console.log(`Prover has been deployed on ${proverAddress} address`);
39
- console.log("Deploying verifier");
40
- const verifierAddress = await deployContract(verifierSpec, [proverAddress, ...(args.verifier ?? [])], chainId);
41
- console.log(`Verifier has been deployed on ${verifierAddress} address`);
42
- return [proverAddress, verifierAddress];
43
- }
44
- export async function call(abi, address, functionName, args, chainId = foundry.id) {
45
- const ethClient = createAnvilClient(chainId);
46
- return ethClient.readContract({
47
- abi,
48
- address,
49
- functionName,
50
- args,
51
- });
52
- }
53
- export async function writeContract(address, abi, functionName, args, sender, chain = foundry) {
54
- const ethClient = createAnvilClient(chain.id);
55
- const selectedSender = sender || (await ethClient.getAddresses())[0];
56
- const txHash = await ethClient.writeContract({
57
- address,
58
- abi: abi,
59
- functionName,
60
- args: args,
61
- chain,
62
- account: selectedSender,
63
- chainOverride: undefined,
64
- });
65
- const txReceipt = await ethClient.waitForTransactionReceipt({ hash: txHash });
66
- if (txReceipt.status != "success") {
67
- throw new Error(`Transaction failed with status: ${txReceipt.status}`);
68
- }
69
- return txReceipt;
70
- }
71
- export const getTestAccount = () => privateKeyToAccount(generatePrivateKey());
72
- export const getTestAddresses = (chainId = foundry.id) => createAnvilClient(chainId).getAddresses();
73
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":"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"}