From 5e36e777bc0e427e146c6bdbde216875dd9e9281 Mon Sep 17 00:00:00 2001 From: Cesar Date: Fri, 10 Mar 2023 16:04:11 +0100 Subject: [PATCH 01/25] feat: add fetch nonce --- provider/implementations/js/polywrap.yaml | 3 +++ provider/implementations/js/src/index.ts | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/provider/implementations/js/polywrap.yaml b/provider/implementations/js/polywrap.yaml index 9e43388..b4f934c 100644 --- a/provider/implementations/js/polywrap.yaml +++ b/provider/implementations/js/polywrap.yaml @@ -5,3 +5,6 @@ project: source: module: ./src/index.ts schema: ./src/schema.graphql + import_abis: + - uri: wrap://ens/wraps.eth:ethereum-provider@1.1.0 + abi: ../../interface/src/schema.graphql \ No newline at end of file diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 691d807..5c1b6a2 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -8,7 +8,8 @@ import { IProvider_Module_Args_address as Args_address, IProvider_Module_Args_chainId as Args_chainId, IProvider_Module_Args_waitForTransaction as Args_waitForTransaction, - IProvider_Connection as SchemaConnection + IProvider_Connection as SchemaConnection, + IProvider_Module_Args_nonce as Args_nonce, } from "./wrap"; import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; import { Connection } from "./Connection"; @@ -119,6 +120,15 @@ export class EthereumProviderPlugin extends Module { return network.chainId.toString(); } + public async nonce( + args: Args_nonce, + _client: CoreClient + ): Promise { + const connection = await this._getConnection(args.connection); + const nonce = await connection.getSigner().getTransactionCount(); + return nonce + } + private async _getConnection(connection?: SchemaConnection | null): Promise { return this._connections.getConnection(connection ?? this.env.connection); } From 3361c2b5c11d5de4b681fdf48c069787116c2d2c Mon Sep 17 00:00:00 2001 From: Cesar Date: Fri, 10 Mar 2023 16:09:21 +0100 Subject: [PATCH 02/25] chore: update interface & deploy hash --- provider/interface/deployment.json | 2 +- provider/interface/src/schema.graphql | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/provider/interface/deployment.json b/provider/interface/deployment.json index a524d92..8b9a4e0 100644 --- a/provider/interface/deployment.json +++ b/provider/interface/deployment.json @@ -6,7 +6,7 @@ "name": "ipfs_deploy", "id": "deploy.ipfs_deploy", "input": "wrap://fs/./build", - "result": "wrap://ipfs/QmXBQNWLpQcR95nequWFLHEcsTDP772QyVFnNuroyr2nzu" + "result": "wrap://ipfs/QmdhmhqS2hLHKnAtVjNFpRLMSouFgBfAQWLmG2pSAHWBVp" } ] } diff --git a/provider/interface/src/schema.graphql b/provider/interface/src/schema.graphql index 2684d17..8ddd3d3 100644 --- a/provider/interface/src/schema.graphql +++ b/provider/interface/src/schema.graphql @@ -40,4 +40,9 @@ type Module { Get the chain id of the signer's connection. Throws if signer is missing. """ chainId(connection: Connection): String! + + """ + Get the nonce of the signer's. Throws if signer is missing. + """ + nonce(connection: Connection): Int! } From 84c9ef0e1a9dbd28603c9198df0b4f1c6ed7e9e6 Mon Sep 17 00:00:00 2001 From: Cesar Date: Fri, 10 Mar 2023 19:06:53 +0100 Subject: [PATCH 03/25] feat: add is wallet method --- provider/implementations/js/src/index.ts | 23 ++++++++++++++++++++++- provider/interface/src/schema.graphql | 5 +++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 5c1b6a2..402dbbb 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -10,6 +10,7 @@ import { IProvider_Module_Args_waitForTransaction as Args_waitForTransaction, IProvider_Connection as SchemaConnection, IProvider_Module_Args_nonce as Args_nonce, + IProvider_Module_Args_isWallet as Args_isWallet, } from "./wrap"; import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; import { Connection } from "./Connection"; @@ -47,7 +48,7 @@ export class EthereumProviderPlugin extends Module { * Ethers-rs defines the type of EIP 1559 tx * as 0x02, but metamask expects it as 0x2, * hence, the need of this workaround. Related: - * https://github.com/foundry-rs/foundry/issues/3890. + * https://github.com/MetaMask/metamask-extension/issues/18076 * * We check if the parameters comes as array, if the error * contains 0x2 and if the type is 0x02, then we change it @@ -67,6 +68,26 @@ export class EthereumProviderPlugin extends Module { } } } + public async isWallet( + args: Args_isWallet, + _client: CoreClient + ): Promise { + const connection = await this._getConnection(args.connection); + /** + * This methods gives to the plugin the capability + * to check if the provider is a wallet (i.e metamask) + * or a given private key (with `new Wallet("0x..")`) + * this allows the wrapper to check if it needs to call + * sendTransaction or sendRawTransaction RPC method + * + * It checks if the provider has the `provider` attribute + * which is something that only the `Web3Provider` has + * but not the JsonRpcProvider: Check the following link for more info: + * https://github.com/ethers-io/ethers.js/blob/v5.7.0/packages/providers/src.ts/web3-provider.ts#L122 + */ + const provider = connection.getProvider(); + return "provider" in provider + } async waitForTransaction( args: Args_waitForTransaction, diff --git a/provider/interface/src/schema.graphql b/provider/interface/src/schema.graphql index 8ddd3d3..f1ce72c 100644 --- a/provider/interface/src/schema.graphql +++ b/provider/interface/src/schema.graphql @@ -45,4 +45,9 @@ type Module { Get the nonce of the signer's. Throws if signer is missing. """ nonce(connection: Connection): Int! + + """ + Check if signer is wallet-based. Throws if signer is missing. + """ + isWallet(connection: Connection): Boolean! } From e0a16415916d3531e699e68d0fb5bfb6b4386263 Mon Sep 17 00:00:00 2001 From: Cesar Date: Fri, 10 Mar 2023 19:08:09 +0100 Subject: [PATCH 04/25] chore: update version & deploy hash --- provider/implementations/js/package.json | 2 +- provider/interface/deployment.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/provider/implementations/js/package.json b/provider/implementations/js/package.json index 029d903..6564889 100644 --- a/provider/implementations/js/package.json +++ b/provider/implementations/js/package.json @@ -1,7 +1,7 @@ { "name": "@polywrap/ethereum-provider-js", "description": "Ethereum Provider JS Plugin", - "version": "0.2.4", + "version": "0.2.5", "license": "MIT", "main": "build/index.js", "files": [ diff --git a/provider/interface/deployment.json b/provider/interface/deployment.json index 8b9a4e0..441cbba 100644 --- a/provider/interface/deployment.json +++ b/provider/interface/deployment.json @@ -6,7 +6,7 @@ "name": "ipfs_deploy", "id": "deploy.ipfs_deploy", "input": "wrap://fs/./build", - "result": "wrap://ipfs/QmdhmhqS2hLHKnAtVjNFpRLMSouFgBfAQWLmG2pSAHWBVp" + "result": "wrap://ipfs/QmSDUiZjKhFj7iSv76MzneSwD7bSr55rptZvnki5sASSSy" } ] } From 6719f2d59de575bc2c4fef6708fdc467120e63b1 Mon Sep 17 00:00:00 2001 From: Cesar Date: Mon, 13 Mar 2023 18:50:12 +0100 Subject: [PATCH 05/25] chore: change is wallet to is web3 provider --- provider/implementations/js/src/index.ts | 7 ++++--- provider/interface/deployment.json | 2 +- provider/interface/src/schema.graphql | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 402dbbb..09b61d3 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -10,7 +10,7 @@ import { IProvider_Module_Args_waitForTransaction as Args_waitForTransaction, IProvider_Connection as SchemaConnection, IProvider_Module_Args_nonce as Args_nonce, - IProvider_Module_Args_isWallet as Args_isWallet, + IProvider_Module_Args_isWeb3Provider as Args_isWeb3Provider, } from "./wrap"; import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; import { Connection } from "./Connection"; @@ -68,8 +68,9 @@ export class EthereumProviderPlugin extends Module { } } } - public async isWallet( - args: Args_isWallet, + + public async isWeb3Provider( + args: Args_isWeb3Provider, _client: CoreClient ): Promise { const connection = await this._getConnection(args.connection); diff --git a/provider/interface/deployment.json b/provider/interface/deployment.json index 441cbba..0fafef6 100644 --- a/provider/interface/deployment.json +++ b/provider/interface/deployment.json @@ -6,7 +6,7 @@ "name": "ipfs_deploy", "id": "deploy.ipfs_deploy", "input": "wrap://fs/./build", - "result": "wrap://ipfs/QmSDUiZjKhFj7iSv76MzneSwD7bSr55rptZvnki5sASSSy" + "result": "wrap://ipfs/QmWP9Y1hoZNN6ccjdy6QiskKx3aJXYVrqmx5MCxQ72UML3" } ] } diff --git a/provider/interface/src/schema.graphql b/provider/interface/src/schema.graphql index f1ce72c..a582a0e 100644 --- a/provider/interface/src/schema.graphql +++ b/provider/interface/src/schema.graphql @@ -49,5 +49,5 @@ type Module { """ Check if signer is wallet-based. Throws if signer is missing. """ - isWallet(connection: Connection): Boolean! + isWeb3Provider(connection: Connection): Boolean! } From 8b315fdecdf158ae8f51f9ac4c6ef0b4eb6464ea Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Mon, 13 Mar 2023 18:32:27 -0400 Subject: [PATCH 06/25] chore: remove needless methods from provider --- provider/implementations/js/src/index.ts | 71 ++++++++---------------- provider/interface/src/schema.graphql | 20 ------- 2 files changed, 24 insertions(+), 67 deletions(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 09b61d3..3f6b4f0 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -39,6 +39,30 @@ export class EthereumProviderPlugin extends Module { const params = JSON.parse(args?.params ?? "[]"); const provider = connection.getProvider(); + /* + TODO: handle all signing related RPC calls here + if (isPrivateKeySigner) { + if (eth_sendTransaction) { + + } else if (eth_signTypedData) { + + } else if (...) + } + */ + + /* + TODO: handle all RPC calls that should be dealt with via ethers-specific + methods (helping improve performance due to caching) + + if (method == eth_chainId) { + connection.provider.getChainId() + } else if (method == eth_transactionCount) { // nonce + connection.provider.getTransactionCount() + } else if (method == eth_address) { + ... + } + */ + try { const req = await provider.send(args.method, params); return JSON.stringify(req); @@ -69,27 +93,6 @@ export class EthereumProviderPlugin extends Module { } } - public async isWeb3Provider( - args: Args_isWeb3Provider, - _client: CoreClient - ): Promise { - const connection = await this._getConnection(args.connection); - /** - * This methods gives to the plugin the capability - * to check if the provider is a wallet (i.e metamask) - * or a given private key (with `new Wallet("0x..")`) - * this allows the wrapper to check if it needs to call - * sendTransaction or sendRawTransaction RPC method - * - * It checks if the provider has the `provider` attribute - * which is something that only the `Web3Provider` has - * but not the JsonRpcProvider: Check the following link for more info: - * https://github.com/ethers-io/ethers.js/blob/v5.7.0/packages/providers/src.ts/web3-provider.ts#L122 - */ - const provider = connection.getProvider(); - return "provider" in provider - } - async waitForTransaction( args: Args_waitForTransaction, _client: CoreClient @@ -125,32 +128,6 @@ export class EthereumProviderPlugin extends Module { return ethers.utils.joinSignature(signedTx as { r: string; s: string; v: number | undefined }); } - public async address( - args: Args_address, - _client: CoreClient - ): Promise { - const connection = await this._getConnection(args.connection); - return await connection.getSigner().getAddress(); - } - - public async chainId( - args: Args_chainId, - _client: CoreClient - ): Promise { - const connection = await this._getConnection(args.connection); - const network = await connection.getProvider().getNetwork(); - return network.chainId.toString(); - } - - public async nonce( - args: Args_nonce, - _client: CoreClient - ): Promise { - const connection = await this._getConnection(args.connection); - const nonce = await connection.getSigner().getTransactionCount(); - return nonce - } - private async _getConnection(connection?: SchemaConnection | null): Promise { return this._connections.getConnection(connection ?? this.env.connection); } diff --git a/provider/interface/src/schema.graphql b/provider/interface/src/schema.graphql index a582a0e..6b8972d 100644 --- a/provider/interface/src/schema.graphql +++ b/provider/interface/src/schema.graphql @@ -30,24 +30,4 @@ type Module { Typically, transactions are sent by `request` and signed by the wallet. """ signTransaction(rlp: Bytes!, connection: Connection): String! - - """ - Get the ethereum address of the signer. Throws if signer is missing. - """ - address(connection: Connection): String! - - """ - Get the chain id of the signer's connection. Throws if signer is missing. - """ - chainId(connection: Connection): String! - - """ - Get the nonce of the signer's. Throws if signer is missing. - """ - nonce(connection: Connection): Int! - - """ - Check if signer is wallet-based. Throws if signer is missing. - """ - isWeb3Provider(connection: Connection): Boolean! } From ab3ea979f8c30843449690d9c5a2bace85b28905 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Tue, 14 Mar 2023 02:34:26 -0400 Subject: [PATCH 07/25] break: simplify provider interface --- provider/implementations/js/package.json | 13 +- provider/implementations/js/polywrap.yaml | 4 +- .../implementations/js/src/Connections.ts | 2 +- provider/implementations/js/src/index.ts | 57 +- .../implementations/js/src/schema.graphql | 9 +- .../js/tests/connection.spec.ts | 20 +- .../implementations/js/tests/index.spec.ts | 80 +- provider/implementations/js/yarn.lock | 834 ++++++------------ provider/interface/package.json | 2 +- provider/interface/src/schema.graphql | 11 +- provider/interface/yarn.lock | 714 +++++---------- 11 files changed, 575 insertions(+), 1171 deletions(-) diff --git a/provider/implementations/js/package.json b/provider/implementations/js/package.json index 6564889..90dd934 100644 --- a/provider/implementations/js/package.json +++ b/provider/implementations/js/package.json @@ -1,7 +1,7 @@ { "name": "@polywrap/ethereum-provider-js", "description": "Ethereum Provider JS Plugin", - "version": "0.2.5", + "version": "0.3.0", "license": "MIT", "main": "build/index.js", "files": [ @@ -18,8 +18,8 @@ "dependencies": { "@ethersproject/address": "5.7.0", "@ethersproject/providers": "5.7.0", - "@polywrap/core-js": "0.10.0-pre.10", - "@polywrap/plugin-js": "0.10.0-pre.10", + "@polywrap/core-js": "0.10.0-pre.12", + "@polywrap/plugin-js": "0.10.0-pre.12", "ethers": "5.7.0" }, "peerDependencies": { @@ -27,10 +27,10 @@ "@polywrap/plugin-js": "0.10.x" }, "devDependencies": { - "polywrap": "0.10.0-pre.10", + "polywrap": "0.10.0-pre.12", "@types/jest": "26.0.8", - "@polywrap/client-js": "0.10.0-pre.10", - "@polywrap/test-env-js": "0.10.0-pre.10", + "@polywrap/client-js": "0.10.0-pre.12", + "@polywrap/cli-js": "0.10.0-pre.12", "eth-ens-namehash": "2.0.8", "jest": "26.6.3", "js-sha3": "0.8.0", @@ -43,4 +43,3 @@ "access": "public" } } - diff --git a/provider/implementations/js/polywrap.yaml b/provider/implementations/js/polywrap.yaml index b4f934c..f96aba2 100644 --- a/provider/implementations/js/polywrap.yaml +++ b/provider/implementations/js/polywrap.yaml @@ -6,5 +6,5 @@ source: module: ./src/index.ts schema: ./src/schema.graphql import_abis: - - uri: wrap://ens/wraps.eth:ethereum-provider@1.1.0 - abi: ../../interface/src/schema.graphql \ No newline at end of file + - uri: wrap://ens/wraps.eth:ethereum-provider@2.0.0 + abi: ../../interface/src/schema.graphql diff --git a/provider/implementations/js/src/Connections.ts b/provider/implementations/js/src/Connections.ts index 8bbee25..45d7071 100644 --- a/provider/implementations/js/src/Connections.ts +++ b/provider/implementations/js/src/Connections.ts @@ -1,5 +1,5 @@ import { Connection, EthereumProvider } from "./Connection"; -import { IProvider_Connection as SchemaConnection } from "./wrap"; +import { Connection as SchemaConnection } from "./wrap"; import { getNetwork } from "@ethersproject/providers"; import {KnownNetwork, KnownNetworkId} from "./networks"; diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 3f6b4f0..0bf0b11 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -2,15 +2,12 @@ import { Module, manifest, CoreClient, - IProvider_Module_Args_request as Args_request, - IProvider_Module_Args_signMessage as Args_signMessage, - IProvider_Module_Args_signTransaction as Args_signTransaction, - IProvider_Module_Args_address as Args_address, - IProvider_Module_Args_chainId as Args_chainId, - IProvider_Module_Args_waitForTransaction as Args_waitForTransaction, - IProvider_Connection as SchemaConnection, - IProvider_Module_Args_nonce as Args_nonce, - IProvider_Module_Args_isWeb3Provider as Args_isWeb3Provider, + Args_request, + Args_signMessage, + Args_signTransaction, + Args_waitForTransaction, + Connection as SchemaConnection, + Args_signerAddress, } from "./wrap"; import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; import { Connection } from "./Connection"; @@ -39,29 +36,11 @@ export class EthereumProviderPlugin extends Module { const params = JSON.parse(args?.params ?? "[]"); const provider = connection.getProvider(); - /* - TODO: handle all signing related RPC calls here - if (isPrivateKeySigner) { - if (eth_sendTransaction) { - - } else if (eth_signTypedData) { - - } else if (...) - } - */ - - /* - TODO: handle all RPC calls that should be dealt with via ethers-specific - methods (helping improve performance due to caching) - - if (method == eth_chainId) { - connection.provider.getChainId() - } else if (method == eth_transactionCount) { // nonce - connection.provider.getTransactionCount() - } else if (method == eth_address) { - ... + // Optimizations, utilizing the cache within ethers + if (args.method === "eth_chainId") { + const network = await provider.getNetwork(); + return network.chainId.toString(); } - */ try { const req = await provider.send(args.method, params); @@ -109,6 +88,18 @@ export class EthereumProviderPlugin extends Module { return true; } + public async signerAddress( + args: Args_signerAddress, + _client: CoreClient + ): Promise { + try { + const connection = await this._getConnection(args.connection); + return await connection.getSigner().getAddress(); + } catch (_error) { + return null; + } + } + public async signMessage( args: Args_signMessage, _client: CoreClient @@ -129,7 +120,9 @@ export class EthereumProviderPlugin extends Module { } private async _getConnection(connection?: SchemaConnection | null): Promise { - return this._connections.getConnection(connection ?? this.env.connection); + return this._connections.getConnection( + connection ?? this.env.connection + ); } private _parseTransaction(rlp: Uint8Array): ethers.providers.TransactionRequest { diff --git a/provider/implementations/js/src/schema.graphql b/provider/implementations/js/src/schema.graphql index c43385d..263eb29 100644 --- a/provider/implementations/js/src/schema.graphql +++ b/provider/implementations/js/src/schema.graphql @@ -1,7 +1,2 @@ -#import { Module, Connection } into IProvider from "wrap://ens/wraps.eth:ethereum-provider@1.1.0" - -type Env { - connection: IProvider_Connection -} - -type Module implements IProvider {} +#import * from "wrap://ens/wraps.eth:ethereum-provider@2.0.0" +#import { Env } from "wrap://ens/wraps.eth:ethereum-provider@2.0.0" diff --git a/provider/implementations/js/tests/connection.spec.ts b/provider/implementations/js/tests/connection.spec.ts index 6c01e60..803c18d 100644 --- a/provider/implementations/js/tests/connection.spec.ts +++ b/provider/implementations/js/tests/connection.spec.ts @@ -1,5 +1,6 @@ import { Connection } from "../src"; -import { initTestEnvironment, stopTestEnvironment, providers } from "@polywrap/test-env-js"; +import { Commands } from "@polywrap/cli-js"; +import { ETH_ENS_IPFS_MODULE_CONSTANTS } from "polywrap"; import { Wallet } from "ethers"; jest.setTimeout(600000); @@ -11,13 +12,14 @@ const getRpcUri = (network: BasicNetwork): string => { } describe("Connection", () => { + const ethProvider = ETH_ENS_IPFS_MODULE_CONSTANTS.ethereumProvider; const signerAddress = "0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1"; let testnet: Connection; beforeAll(async () => { - await initTestEnvironment(); + await Commands.infra("up", { modules: ["eth-ens-ipfs"] }); testnet = new Connection({ - provider: providers.ethereum, + provider: ethProvider, signer: new Wallet( "0x4f3edf983ac636a65a842ce7c78d9aa706d3b113bce9c46f30d7d21715b23b1d" ), @@ -25,7 +27,7 @@ describe("Connection", () => { }); afterAll(async () => { - await stopTestEnvironment(); + await Commands.infra("down", { modules: ["eth-ens-ipfs"] }); }); it("Constructs from Networkish", () => { @@ -48,8 +50,8 @@ describe("Connection", () => { const goerliUri = getRpcUri("goerli"); const connection = new Connection({ provider: goerliUri }); expect(connection.getProvider().connection.url).toEqual(goerliUri); - connection.setProvider(providers.ethereum); - expect(connection.getProvider().connection.url).toEqual(providers.ethereum); + connection.setProvider(ethProvider); + expect(connection.getProvider().connection.url).toEqual(ethProvider); expect(connection.getSigner()).toBeDefined(); }); @@ -61,7 +63,7 @@ describe("Connection", () => { }); it("gets signer from provider", async () => { - const connection = new Connection({ provider: providers.ethereum }); + const connection = new Connection({ provider: ethProvider }); const signer = connection.getSigner(); expect(signer).toBeDefined(); }); @@ -69,7 +71,7 @@ describe("Connection", () => { describe("setSigner", () => { it ("sets signer from ethers Signer", async () => { - const connection = new Connection({ provider: providers.ethereum }); + const connection = new Connection({ provider: ethProvider }); connection.setSigner(new Wallet( "0x4f3edf983ac636a65a842ce7c78d9aa706d3b113bce9c46f30d7d21715b23b1d" )); @@ -87,7 +89,7 @@ describe("Connection", () => { }); it("sets signer from address", async () => { - const connection = new Connection({ provider: providers.ethereum }); + const connection = new Connection({ provider: ethProvider }); connection.setSigner(signerAddress); const signer = connection.getSigner(); expect(signer).toBeDefined(); diff --git a/provider/implementations/js/tests/index.spec.ts b/provider/implementations/js/tests/index.spec.ts index a71600b..43a5253 100644 --- a/provider/implementations/js/tests/index.spec.ts +++ b/provider/implementations/js/tests/index.spec.ts @@ -7,12 +7,13 @@ jest.setTimeout(360000); describe("Ethereum Plugin", () => { let client: PolywrapClient; + let clientNoSigner: PolywrapClient; const uri = "wrap://plugin/ethereum-provider"; beforeAll(async () => { - const config = new ClientConfigBuilder() - .addPackage( + client = new PolywrapClient( + new ClientConfigBuilder().addPackage( uri, ethereumProviderPlugin({ connections: new Connections({ @@ -25,9 +26,24 @@ describe("Ethereum Plugin", () => { defaultNetwork: "binance", }) }), - ).build(); + ).build() + ); - client = new PolywrapClient(config); + clientNoSigner = new PolywrapClient( + new ClientConfigBuilder().addPackage( + uri, + ethereumProviderPlugin({ + connections: new Connections({ + networks: { + binance: new Connection({ + provider: "https://bsc-dataseed1.binance.org/", + }) + }, + defaultNetwork: "binance", + }) + }), + ).build() + ); }); describe("EthereumProviderPlugin", () => { @@ -45,54 +61,70 @@ describe("Ethereum Plugin", () => { expect(res).toBe("56"); }); - it("signMessage", async () => { - const message = new TextEncoder().encode("Hello World"); - const response = await client.invoke({ + it("eth_getTransactionCount", async () => { + const response = await client.invoke({ uri, - method: "signMessage", - args: { message }, + method: "request", + args: { + method: "eth_getTransactionCount", + params: `["0x3f349bBaFEc1551819B8be1EfEA2fC46cA749aA1","latest"]` + } }); if (response.ok === false) fail(response.error); - expect(response.value).toBeDefined(); - expect(response.value).toBe("0xa4708243bf782c6769ed04d83e7192dbcf4fc131aa54fde9d889d8633ae39dab03d7babd2392982dff6bc20177f7d887e27e50848c851320ee89c6c63d18ca761c"); + expect(BigNumber.from(JSON.parse(response.value)).gt(0)).toBe(true); }); - it("signTransaction", async () => { - const rlp = [2,249,6,17,130,5,57,10,132,178,208,94,0,132,216,200,6,146,131,5,188,169,128,128,185,5,249,96,128,96,64,82,52,128,21,97,0,16,87,96,0,128,253,91,80,97,5,217,128,97,0,32,96,0,57,96,0,243,254,96,128,96,64,82,52,128,21,97,0,16,87,96,0,128,253,91,80,96,4,54,16,97,0,76,87,96,0,53,96,224,28,128,99,30,216,63,212,20,97,0,81,87,128,99,96,254,71,177,20,97,0,109,87,128,99,109,76,230,60,20,97,0,137,87,128,99,209,51,25,196,20,97,0,167,87,91,96,0,128,253,91,97,0,107,96,4,128,54,3,129,1,144,97,0,102,145,144,97,2,246,86,91,97,0,197,86,91,0,91,97,0,135,96,4,128,54,3,129,1,144,97,0,130,145,144,97,3,59,86,91,97,1,22,86,91,0,91,97,0,145,97,1,89,86,91,96,64,81,97,0,158,145,144,97,4,101,86,91,96,64,81,128,145,3,144,243,91,97,0,175,97,1,98,86,91,96,64,81,97,0,188,145,144,97,4,67,86,91,96,64,81,128,145,3,144,243,91,129,129,96,1,145,144,97,0,214,146,145,144,97,1,244,86,91,80,127,119,1,244,158,185,170,190,136,144,99,21,8,169,9,46,171,181,17,163,69,102,195,15,45,148,255,68,32,218,28,203,19,51,131,131,96,64,81,97,1,10,147,146,145,144,97,3,232,86,91,96,64,81,128,145,3,144,161,80,80,86,91,128,96,0,129,144,85,80,127,124,148,169,72,72,213,133,155,26,48,200,135,220,87,64,191,141,28,247,137,119,155,233,10,221,161,208,211,77,210,80,34,51,130,96,64,81,97,1,78,146,145,144,97,4,26,86,91,96,64,81,128,145,3,144,161,80,86,91,96,0,128,84,144,80,144,86,91,96,96,96,1,128,84,97,1,113,144,97,5,26,86,91,128,96,31,1,96,32,128,145,4,2,96,32,1,96,64,81,144,129,1,96,64,82,128,146,145,144,129,129,82,96,32,1,130,128,84,97,1,157,144,97,5,26,86,91,128,21,97,1,234,87,128,96,31,16,97,1,191,87,97,1,0,128,131,84,4,2,131,82,145,96,32,1,145,97,1,234,86,91,130,1,145,144,96,0,82,96,32,96,0,32,144,91,129,84,129,82,144,96,1,1,144,96,32,1,128,131,17,97,1,205,87,130,144,3,96,31,22,130,1,145,91,80,80,80,80,80,144,80,144,86,91,130,128,84,97,2,0,144,97,5,26,86,91,144,96,0,82,96,32,96,0,32,144,96,31,1,96,32,144,4,129,1,146,130,97,2,34,87,96,0,133,85,97,2,105,86,91,130,96,31,16,97,2,59,87,128,53,96,255,25,22,131,128,1,23,133,85,97,2,105,86,91,130,128,1,96,1,1,133,85,130,21,97,2,105,87,145,130,1,91,130,129,17,21,97,2,104,87,130,53,130,85,145,96,32,1,145,144,96,1,1,144,97,2,77,86,91,91,80,144,80,97,2,118,145,144,97,2,122,86,91,80,144,86,91,91,128,130,17,21,97,2,147,87,96,0,129,96,0,144,85,80,96,1,1,97,2,123,86,91,80,144,86,91,96,0,128,131,96,31,132,1,18,97,2,169,87,96,0,128,253,91,130,53,144,80,103,255,255,255,255,255,255,255,255,129,17,21,97,2,194,87,96,0,128,253,91,96,32,131,1,145,80,131,96,1,130,2,131,1,17,21,97,2,218,87,96,0,128,253,91,146,80,146,144,80,86,91,96,0,129,53,144,80,97,2,240,129,97,5,140,86,91,146,145,80,80,86,91,96,0,128,96,32,131,133,3,18,21,97,3,9,87,96,0,128,253,91,96,0,131,1,53,103,255,255,255,255,255,255,255,255,129,17,21,97,3,35,87,96,0,128,253,91,97,3,47,133,130,134,1,97,2,151,86,91,146,80,146,80,80,146,80,146,144,80,86,91,96,0,96,32,130,132,3,18,21,97,3,77,87,96,0,128,253,91,96,0,97,3,91,132,130,133,1,97,2,225,86,91,145,80,80,146,145,80,80,86,91,97,3,109,129,97,4,156,86,91,130,82,80,80,86,91,96,0,97,3,127,131,133,97,4,139,86,91,147,80,97,3,140,131,133,132,97,4,216,86,91,97,3,149,131,97,5,123,86,91,132,1,144,80,147,146,80,80,80,86,91,96,0,97,3,171,130,97,4,128,86,91,97,3,181,129,133,97,4,139,86,91,147,80,97,3,197,129,133,96,32,134,1,97,4,231,86,91,97,3,206,129,97,5,123,86,91,132,1,145,80,80,146,145,80,80,86,91,97,3,226,129,97,4,206,86,91,130,82,80,80,86,91,96,0,96,64,130,1,144,80,97,3,253,96,0,131,1,134,97,3,100,86,91,129,129,3,96,32,131,1,82,97,4,16,129,132,134,97,3,115,86,91,144,80,148,147,80,80,80,80,86,91,96,0,96,64,130,1,144,80,97,4,47,96,0,131,1,133,97,3,100,86,91,97,4,60,96,32,131,1,132,97,3,217,86,91,147,146,80,80,80,86,91,96,0,96,32,130,1,144,80,129,129,3,96,0,131,1,82,97,4,93,129,132,97,3,160,86,91,144,80,146,145,80,80,86,91,96,0,96,32,130,1,144,80,97,4,122,96,0,131,1,132,97,3,217,86,91,146,145,80,80,86,91,96,0,129,81,144,80,145,144,80,86,91,96,0,130,130,82,96,32,130,1,144,80,146,145,80,80,86,91,96,0,97,4,167,130,97,4,174,86,91,144,80,145,144,80,86,91,96,0,115,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,130,22,144,80,145,144,80,86,91,96,0,129,144,80,145,144,80,86,91,130,129,131,55,96,0,131,131,1,82,80,80,80,86,91,96,0,91,131,129,16,21,97,5,5,87,128,130,1,81,129,132,1,82,96,32,129,1,144,80,97,4,234,86,91,131,129,17,21,97,5,20,87,96,0,132,132,1,82,91,80,80,80,80,86,91,96,0,96,2,130,4,144,80,96,1,130,22,128,97,5,50,87,96,127,130,22,145,80,91,96,32,130,16,129,20,21,97,5,70,87,97,5,69,97,5,76,86,91,91,80,145,144,80,86,91,127,78,72,123,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,82,96,34,96,4,82,96,36,96,0,253,91,96,0,96,31,25,96,31,131,1,22,144,80,145,144,80,86,91,97,5,149,129,97,4,206,86,91,129,20,97,5,160,87,96,0,128,253,91,80,86,254,162,100,105,112,102,115,88,34,18,32,196,241,124,254,77,106,146,63,127,224,120,183,164,55,55,91,34,3,91,123,87,239,122,43,220,8,107,220,27,225,92,53,100,115,111,108,99,67,0,8,3,0,51,192]; + it("signerAddress", async () => { const response = await client.invoke({ uri, - method: "signTransaction", - args: { rlp }, + method: "signerAddress", }); if (response.ok === false) fail(response.error); + expect(response.value).toBeDefined(); + expect(response.value?.startsWith("0x")).toBe(true); + }); + + it("signerAddress - no signer", async () => { + const response = await clientNoSigner.invoke({ + uri, + method: "signerAddress", + }); + + if (response.ok === false) fail(response.error); expect(response.value).toBeDefined(); - expect(response.value).toBe("0xeb91a997a865e2e4a48c098ea519666ed7fa5d9922f4e7e9b6838dc18ecfdab03a568682c3f0a4cb6b78ef0f601117a0de9848c089c94c01f782f067404c1eae1b"); + expect(response.value).toBe(null); }); - it("address", async () => { + it("signMessage", async () => { + const message = new TextEncoder().encode("Hello World"); const response = await client.invoke({ uri, - method: "address", + method: "signMessage", + args: { message }, }); if (response.ok === false) fail(response.error); - expect(response.value).toBeDefined(); - expect(response.value?.startsWith("0x")).toBe(true); + expect(response.value).toBeDefined(); + expect(response.value).toBe("0xa4708243bf782c6769ed04d83e7192dbcf4fc131aa54fde9d889d8633ae39dab03d7babd2392982dff6bc20177f7d887e27e50848c851320ee89c6c63d18ca761c"); }); - it("chainId", async () => { - const response = await client.invoke({ + it("signTransaction", async () => { + const rlp = [2,249,6,17,130,5,57,10,132,178,208,94,0,132,216,200,6,146,131,5,188,169,128,128,185,5,249,96,128,96,64,82,52,128,21,97,0,16,87,96,0,128,253,91,80,97,5,217,128,97,0,32,96,0,57,96,0,243,254,96,128,96,64,82,52,128,21,97,0,16,87,96,0,128,253,91,80,96,4,54,16,97,0,76,87,96,0,53,96,224,28,128,99,30,216,63,212,20,97,0,81,87,128,99,96,254,71,177,20,97,0,109,87,128,99,109,76,230,60,20,97,0,137,87,128,99,209,51,25,196,20,97,0,167,87,91,96,0,128,253,91,97,0,107,96,4,128,54,3,129,1,144,97,0,102,145,144,97,2,246,86,91,97,0,197,86,91,0,91,97,0,135,96,4,128,54,3,129,1,144,97,0,130,145,144,97,3,59,86,91,97,1,22,86,91,0,91,97,0,145,97,1,89,86,91,96,64,81,97,0,158,145,144,97,4,101,86,91,96,64,81,128,145,3,144,243,91,97,0,175,97,1,98,86,91,96,64,81,97,0,188,145,144,97,4,67,86,91,96,64,81,128,145,3,144,243,91,129,129,96,1,145,144,97,0,214,146,145,144,97,1,244,86,91,80,127,119,1,244,158,185,170,190,136,144,99,21,8,169,9,46,171,181,17,163,69,102,195,15,45,148,255,68,32,218,28,203,19,51,131,131,96,64,81,97,1,10,147,146,145,144,97,3,232,86,91,96,64,81,128,145,3,144,161,80,80,86,91,128,96,0,129,144,85,80,127,124,148,169,72,72,213,133,155,26,48,200,135,220,87,64,191,141,28,247,137,119,155,233,10,221,161,208,211,77,210,80,34,51,130,96,64,81,97,1,78,146,145,144,97,4,26,86,91,96,64,81,128,145,3,144,161,80,86,91,96,0,128,84,144,80,144,86,91,96,96,96,1,128,84,97,1,113,144,97,5,26,86,91,128,96,31,1,96,32,128,145,4,2,96,32,1,96,64,81,144,129,1,96,64,82,128,146,145,144,129,129,82,96,32,1,130,128,84,97,1,157,144,97,5,26,86,91,128,21,97,1,234,87,128,96,31,16,97,1,191,87,97,1,0,128,131,84,4,2,131,82,145,96,32,1,145,97,1,234,86,91,130,1,145,144,96,0,82,96,32,96,0,32,144,91,129,84,129,82,144,96,1,1,144,96,32,1,128,131,17,97,1,205,87,130,144,3,96,31,22,130,1,145,91,80,80,80,80,80,144,80,144,86,91,130,128,84,97,2,0,144,97,5,26,86,91,144,96,0,82,96,32,96,0,32,144,96,31,1,96,32,144,4,129,1,146,130,97,2,34,87,96,0,133,85,97,2,105,86,91,130,96,31,16,97,2,59,87,128,53,96,255,25,22,131,128,1,23,133,85,97,2,105,86,91,130,128,1,96,1,1,133,85,130,21,97,2,105,87,145,130,1,91,130,129,17,21,97,2,104,87,130,53,130,85,145,96,32,1,145,144,96,1,1,144,97,2,77,86,91,91,80,144,80,97,2,118,145,144,97,2,122,86,91,80,144,86,91,91,128,130,17,21,97,2,147,87,96,0,129,96,0,144,85,80,96,1,1,97,2,123,86,91,80,144,86,91,96,0,128,131,96,31,132,1,18,97,2,169,87,96,0,128,253,91,130,53,144,80,103,255,255,255,255,255,255,255,255,129,17,21,97,2,194,87,96,0,128,253,91,96,32,131,1,145,80,131,96,1,130,2,131,1,17,21,97,2,218,87,96,0,128,253,91,146,80,146,144,80,86,91,96,0,129,53,144,80,97,2,240,129,97,5,140,86,91,146,145,80,80,86,91,96,0,128,96,32,131,133,3,18,21,97,3,9,87,96,0,128,253,91,96,0,131,1,53,103,255,255,255,255,255,255,255,255,129,17,21,97,3,35,87,96,0,128,253,91,97,3,47,133,130,134,1,97,2,151,86,91,146,80,146,80,80,146,80,146,144,80,86,91,96,0,96,32,130,132,3,18,21,97,3,77,87,96,0,128,253,91,96,0,97,3,91,132,130,133,1,97,2,225,86,91,145,80,80,146,145,80,80,86,91,97,3,109,129,97,4,156,86,91,130,82,80,80,86,91,96,0,97,3,127,131,133,97,4,139,86,91,147,80,97,3,140,131,133,132,97,4,216,86,91,97,3,149,131,97,5,123,86,91,132,1,144,80,147,146,80,80,80,86,91,96,0,97,3,171,130,97,4,128,86,91,97,3,181,129,133,97,4,139,86,91,147,80,97,3,197,129,133,96,32,134,1,97,4,231,86,91,97,3,206,129,97,5,123,86,91,132,1,145,80,80,146,145,80,80,86,91,97,3,226,129,97,4,206,86,91,130,82,80,80,86,91,96,0,96,64,130,1,144,80,97,3,253,96,0,131,1,134,97,3,100,86,91,129,129,3,96,32,131,1,82,97,4,16,129,132,134,97,3,115,86,91,144,80,148,147,80,80,80,80,86,91,96,0,96,64,130,1,144,80,97,4,47,96,0,131,1,133,97,3,100,86,91,97,4,60,96,32,131,1,132,97,3,217,86,91,147,146,80,80,80,86,91,96,0,96,32,130,1,144,80,129,129,3,96,0,131,1,82,97,4,93,129,132,97,3,160,86,91,144,80,146,145,80,80,86,91,96,0,96,32,130,1,144,80,97,4,122,96,0,131,1,132,97,3,217,86,91,146,145,80,80,86,91,96,0,129,81,144,80,145,144,80,86,91,96,0,130,130,82,96,32,130,1,144,80,146,145,80,80,86,91,96,0,97,4,167,130,97,4,174,86,91,144,80,145,144,80,86,91,96,0,115,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,130,22,144,80,145,144,80,86,91,96,0,129,144,80,145,144,80,86,91,130,129,131,55,96,0,131,131,1,82,80,80,80,86,91,96,0,91,131,129,16,21,97,5,5,87,128,130,1,81,129,132,1,82,96,32,129,1,144,80,97,4,234,86,91,131,129,17,21,97,5,20,87,96,0,132,132,1,82,91,80,80,80,80,86,91,96,0,96,2,130,4,144,80,96,1,130,22,128,97,5,50,87,96,127,130,22,145,80,91,96,32,130,16,129,20,21,97,5,70,87,97,5,69,97,5,76,86,91,91,80,145,144,80,86,91,127,78,72,123,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,82,96,34,96,4,82,96,36,96,0,253,91,96,0,96,31,25,96,31,131,1,22,144,80,145,144,80,86,91,97,5,149,129,97,4,206,86,91,129,20,97,5,160,87,96,0,128,253,91,80,86,254,162,100,105,112,102,115,88,34,18,32,196,241,124,254,77,106,146,63,127,224,120,183,164,55,55,91,34,3,91,123,87,239,122,43,220,8,107,220,27,225,92,53,100,115,111,108,99,67,0,8,3,0,51,192]; + const response = await client.invoke({ uri, - method: "chainId", + method: "signTransaction", + args: { rlp }, }); if (response.ok === false) fail(response.error); - expect(response.value).toEqual("56"); + + expect(response.value).toBeDefined(); + expect(response.value).toBe("0xeb91a997a865e2e4a48c098ea519666ed7fa5d9922f4e7e9b6838dc18ecfdab03a568682c3f0a4cb6b78ef0f601117a0de9848c089c94c01f782f067404c1eae1b"); }); }); }); diff --git a/provider/implementations/js/yarn.lock b/provider/implementations/js/yarn.lock index 9efe61f..b2e5abd 100644 --- a/provider/implementations/js/yarn.lock +++ b/provider/implementations/js/yarn.lock @@ -311,7 +311,7 @@ graphql "15.5.0" graphql-json-transform "^1.1.0-alpha.0" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -326,7 +326,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.0.0", "@ethersproject/abstract-provider@^5.6.1", "@ethersproject/abstract-provider@^5.7.0": +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.6.1", "@ethersproject/abstract-provider@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== @@ -339,7 +339,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.0.0", "@ethersproject/abstract-signer@^5.6.2", "@ethersproject/abstract-signer@^5.7.0": +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.6.2", "@ethersproject/abstract-signer@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== @@ -350,18 +350,7 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.7.tgz#ee7fd7d3b3a400dec6035c7b3f0b7e4652207308" - integrity sha512-+63DiYG+2og6rFNvQmLlLw8i5LtyT65n+jtHd06Ic81rLHc+JUKRpeZFhBa+gqh9f+P8V0xtKR5NI/EHXOfgSw== - dependencies: - "@ethersproject/bignumber" "^5.0.10" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/keccak256" "^5.0.3" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/rlp" "^5.0.3" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.0", "@ethersproject/address@^5.6.1", "@ethersproject/address@^5.7.0": +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.6.1", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -372,21 +361,13 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/rlp" "^5.7.0" -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.0.0", "@ethersproject/base64@^5.6.1", "@ethersproject/base64@^5.7.0": +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.6.1", "@ethersproject/base64@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== dependencies: "@ethersproject/bytes" "^5.7.0" -"@ethersproject/basex@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.0.7.tgz#2f7026b12c9dee6cdc7b7bf1805461836e635495" - integrity sha512-OsXnRsujGmYD9LYyJlX+cVe5KfwgLUbUJrJMWdzRWogrygXd5HvGd7ygX1AYjlu1z8W/+t2FoQnczDR/H2iBjA== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.6.1", "@ethersproject/basex@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" @@ -395,7 +376,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.0.0", "@ethersproject/bignumber@^5.0.10", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -404,21 +385,21 @@ "@ethersproject/logger" "^5.7.0" bn.js "^5.2.1" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.0.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.0.9", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.0.0", "@ethersproject/constants@^5.6.1", "@ethersproject/constants@^5.7.0": +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.6.1", "@ethersproject/constants@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== dependencies: "@ethersproject/bignumber" "^5.7.0" -"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.0.0": +"@ethersproject/contracts@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== @@ -434,7 +415,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/transactions" "^5.7.0" -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.0.0", "@ethersproject/hash@^5.6.1", "@ethersproject/hash@^5.7.0": +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.6.1", "@ethersproject/hash@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== @@ -449,7 +430,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.0.0", "@ethersproject/hdnode@^5.6.2", "@ethersproject/hdnode@^5.7.0": +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.6.2", "@ethersproject/hdnode@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== @@ -467,7 +448,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.0.0", "@ethersproject/json-wallets@^5.6.1", "@ethersproject/json-wallets@^5.7.0": +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.6.1", "@ethersproject/json-wallets@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== @@ -486,7 +467,7 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.0.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== @@ -494,7 +475,7 @@ "@ethersproject/bytes" "^5.7.0" js-sha3 "0.8.0" -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.0.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== @@ -506,14 +487,14 @@ dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.6.3", "@ethersproject/networks@^5.7.0": +"@ethersproject/networks@^5.6.3", "@ethersproject/networks@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.0.0", "@ethersproject/pbkdf2@^5.7.0": +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== @@ -521,7 +502,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/sha2" "^5.7.0" -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.0.0", "@ethersproject/properties@^5.0.7", "@ethersproject/properties@^5.6.0", "@ethersproject/properties@^5.7.0": +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.6.0", "@ethersproject/properties@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== @@ -580,33 +561,7 @@ bech32 "1.1.4" ws "7.4.6" -"@ethersproject/providers@^5.0.0": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.0.0", "@ethersproject/random@^5.6.1", "@ethersproject/random@^5.7.0": +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.6.1", "@ethersproject/random@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== @@ -614,7 +569,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.0.0", "@ethersproject/rlp@^5.0.3", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== @@ -622,7 +577,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.0.0", "@ethersproject/sha2@^5.6.1", "@ethersproject/sha2@^5.7.0": +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.6.1", "@ethersproject/sha2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== @@ -631,7 +586,7 @@ "@ethersproject/logger" "^5.7.0" hash.js "1.1.7" -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.0.0", "@ethersproject/signing-key@^5.6.2", "@ethersproject/signing-key@^5.7.0": +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.6.2", "@ethersproject/signing-key@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== @@ -643,7 +598,7 @@ elliptic "6.5.4" hash.js "1.1.7" -"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.0.0": +"@ethersproject/solidity@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== @@ -655,7 +610,7 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.0.0", "@ethersproject/strings@^5.6.1", "@ethersproject/strings@^5.7.0": +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.6.1", "@ethersproject/strings@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== @@ -664,7 +619,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.0.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -679,7 +634,7 @@ "@ethersproject/rlp" "^5.7.0" "@ethersproject/signing-key" "^5.7.0" -"@ethersproject/units@5.7.0", "@ethersproject/units@^5.0.0": +"@ethersproject/units@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== @@ -709,7 +664,7 @@ "@ethersproject/transactions" "^5.6.2" "@ethersproject/wordlists" "^5.6.1" -"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.0.0": +"@ethersproject/wallet@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== @@ -741,7 +696,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/web@^5.0.0", "@ethersproject/web@^5.6.1", "@ethersproject/web@^5.7.0": +"@ethersproject/web@^5.6.1", "@ethersproject/web@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== @@ -752,7 +707,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.0.0", "@ethersproject/wordlists@^5.6.1", "@ethersproject/wordlists@^5.7.0": +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.6.1", "@ethersproject/wordlists@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== @@ -1087,9 +1042,9 @@ integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g== "@opentelemetry/api@^1.0.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.0.tgz#2c91791a9ba6ca0a0f4aaac5e45d58df13639ac8" - integrity sha512-IgMK9i3sFGNUqPMbjABm0G26g0QCKCUBfglhQ7rQq6WcxbKfEHRcmwsoER4hZcuYqJgkYn2OeuoJIv7Jsftp7g== + version "1.4.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f" + integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA== "@opentelemetry/core@1.6.0": version "1.6.0" @@ -1168,58 +1123,71 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz#ed410c9eb0070491cff9fe914246ce41f88d6f74" integrity sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ== -"@polywrap/asyncify-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/asyncify-js/-/asyncify-js-0.10.0-pre.10.tgz#ecc21ce37e468c6da8c43fdb35e2cad4fe6d63cb" - integrity sha512-KurmLTRvhzFCfJkIgsj/eYCxacAsIwIwu8XRqjpjvL47BPNBYuqflaJgFwrRrPpq16TPSNBDFGRm6RMlATXFDA== +"@polywrap/asyncify-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/asyncify-js/-/asyncify-js-0.10.0-pre.12.tgz#3f112cf3f0d24479462c414dc8b0fe43accaf572" + integrity sha512-cXESk3caOtuz/VS3vQ/yLXHraNaSkZuw4JFtdpy8C7AKaEvBwS5Pu44SaLD7KY/jeJJfhVUWjdXs0WHMfK17yQ== -"@polywrap/client-config-builder-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/client-config-builder-js/-/client-config-builder-js-0.10.0-pre.10.tgz#6b49bad4e4f07b3b9ae6c87a173c1a3c2d9288f1" - integrity sha512-HM8LGHZC4QXUOTKWai/Kx0SgsIT4unaSTEtE4hf+rm+5qaZw2abNAqK20HaRpx09lBLcwQk8w89VR/O+TKfpSg== +"@polywrap/cli-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/cli-js/-/cli-js-0.10.0-pre.12.tgz#fc7226eef13285e3e531df3ff44dfb02e18256e8" + integrity sha512-QmWYtt7vyRmb6K+l6zCEj5r3uejlayHsF3WHjq9938mm2hfNa0S9nPXywcLZqDAWrUtJi/CO9MwuR0KCVfVcDw== dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/ens-resolver-plugin-js" "0.10.0-pre.10" - "@polywrap/fs-plugin-js" "~0.10.0-pre" - "@polywrap/fs-resolver-plugin-js" "0.10.0-pre.10" + polywrap "0.10.0-pre.12" + spawn-command "0.0.2-1" + +"@polywrap/client-config-builder-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/client-config-builder-js/-/client-config-builder-js-0.10.0-pre.12.tgz#75d1f3e4bd5e2ff2486014a65ff609e7e5b617ed" + integrity sha512-S9fJ5oVIFa/fTd0V3+Qw8Ss66HrMH6WOKI+s1whjeqL7HYKf4Ktt+bgA/MPfRFP7FgyVFF4mzaeHDWFjNZEaTA== + dependencies: + "@polywrap/concurrent-plugin-js" "~0.10.0-pre" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/ethereum-provider-js" "~0.2.3" + "@polywrap/file-system-plugin-js" "~0.10.0-pre" "@polywrap/http-plugin-js" "~0.10.0-pre" - "@polywrap/http-resolver-plugin-js" "0.10.0-pre.10" - "@polywrap/ipfs-plugin-js" "~0.10.0-pre" - "@polywrap/ipfs-resolver-plugin-js" "~0.10.0-pre" - "@polywrap/logger-plugin-js" "0.10.0" - "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wasm-js" "0.10.0-pre.10" + "@polywrap/logger-plugin-js" "0.10.0-pre.10" + "@polywrap/plugin-js" "0.10.0-pre.12" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wasm-js" "0.10.0-pre.12" base64-to-uint8array "1.0.0" - concurrent-plugin-js "0.1.2" - ethereum-provider-js "0.1.7" -"@polywrap/client-js@0.10.0-pre.10": +"@polywrap/client-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/client-js/-/client-js-0.10.0-pre.12.tgz#47361acf821a8c446511ebcde063183eb34b0af1" + integrity sha512-+TzX6ifuBkjOweObwI1cNFEMUDivTs/wZoNiYenD3wnMMdxkf705YQmYfgptiUs+2iub+nmdBAH6wIDgngjYCQ== + dependencies: + "@polywrap/client-config-builder-js" "0.10.0-pre.12" + "@polywrap/core-client-js" "0.10.0-pre.12" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/plugin-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/concurrent-plugin-js@~0.10.0-pre": version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/client-js/-/client-js-0.10.0-pre.10.tgz#c6d3a958f54c079c26a74ed4fa9d3c536cff2e77" - integrity sha512-HX9URxY/CnFtkArej1cgQtuN7h2d7afspUVIaAF1egyhaFsHi8TgEN274sIdNFOnuuYR/Vs8lIgTeHXwp3+n/w== + resolved "https://registry.yarnpkg.com/@polywrap/concurrent-plugin-js/-/concurrent-plugin-js-0.10.0-pre.10.tgz#106e015173cabed5b043cbc2fac00a6ccf58f9a0" + integrity sha512-CZUbEEhplLzXpl1xRsF5aRgZLeu4sJxhXA0GWTMqzmGjhqvMPClOMfqklFPmPuCyq76q068XPpYavHjGKNmN2g== dependencies: - "@polywrap/client-config-builder-js" "0.10.0-pre.10" - "@polywrap/core-client-js" "0.10.0-pre.10" "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/msgpack-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/tracing-js" "0.10.0-pre.10" - "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" -"@polywrap/core-client-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/core-client-js/-/core-client-js-0.10.0-pre.10.tgz#8639b5a3683a2ddcc4cb77ba9a80427d9457391c" - integrity sha512-Zfco21nQkS7AAR+pqTuOJIw0ef2JZUR/mWuCQw9Gn64e/L8kqLWoh62JyxEeuBS1gZ+PWpozHk/Fnuced1/e6w== +"@polywrap/core-client-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/core-client-js/-/core-client-js-0.10.0-pre.12.tgz#561f38b7d6e5304927dbec73a4310bce65317d31" + integrity sha512-zd1vmfOqwtj6CJoSU2n6UaK9666RXiBZggmfA0LYhs6DPUV7Zk2YiwUnC2KrWyoCNevBhEgdgwDs80Z124lmJg== dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/msgpack-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/tracing-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" "@polywrap/core-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -1230,49 +1198,30 @@ "@polywrap/tracing-js" "0.10.0-pre.10" "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" -"@polywrap/core-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.5.tgz#8457f168235faae19342a87aed6ddce44a56fb59" - integrity sha512-E92OGSBN5EdeYMj8wtZq4Hibh5qnAAzfSbDE40/LH6tWkrCv/gvJxtlA8gPDiMHXZFSx02zETrz7AZawCg8UXA== +"@polywrap/core-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.12.tgz#125e88439007cc13f2405d3f402b504af9dc173e" + integrity sha512-krDcDUyUq2Xdukgkqwy5ldHF+jyecZy/L14Et8bOJ4ONpTZUdedhkVp5lRumcNjYOlybpF86B0o6kO0eUEGkpQ== dependencies: - "@polywrap/result" "0.10.0-pre.5" - "@polywrap/tracing-js" "0.10.0-pre.5" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.5" - graphql "15.5.0" - graphql-tag "2.10.4" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" -"@polywrap/core-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.7.tgz#525aca1d6569e2eaca33ca15668a77dd270c8293" - integrity sha512-06Uc5fux9Dl3cv+nLmLliaBNwzU9J953Haul5OWvIb0+af/ZyxardxfqZim2+jCylSDw7KhXGeaKkJrvpPLsVw== - dependencies: - "@polywrap/result" "0.10.0-pre.7" - "@polywrap/tracing-js" "0.10.0-pre.7" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.7" - -"@polywrap/ens-resolver-plugin-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/ens-resolver-plugin-js/-/ens-resolver-plugin-js-0.10.0-pre.10.tgz#ab64a8cde32b6e1c87125885d8739feaa99aaf1e" - integrity sha512-2QXMKidCe4t8TqvJSz+m7DkfAb89SYqjcBhO9pY1MWQLJRVadIW6USKGM9l8nnljLdcOiylq+K/W08yWu12eGw== +"@polywrap/ethereum-provider-js@~0.2.3": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@polywrap/ethereum-provider-js/-/ethereum-provider-js-0.2.4.tgz#3df1a6548da191618bb5cae7928c7427e69e0030" + integrity sha512-64xRnniboxxHNZ4/gD6SS4T+QmJPUMbIYZ2hyLODb2QgH3qDBiU+i4gdiQ/BL3T8Sn/0iOxvTIgZalVDJRh2iw== dependencies: - "@ethersproject/address" "5.0.7" - "@ethersproject/basex" "5.0.7" + "@ethersproject/address" "5.7.0" + "@ethersproject/providers" "5.7.0" "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" - ethers "5.0.7" - -"@polywrap/fs-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/fs-plugin-js/-/fs-plugin-js-0.10.0-pre.7.tgz#d066fac96869363de512978bb66204b589ffa9a1" - integrity sha512-zhNOrzaK+X95orrD9FgHRt6etUMq2kjzfZtbPGHcBxN3JR81rtO+7UsVfCdz1U2VoHXsKOZ6t59JhHVfvVRP/g== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/plugin-js" "0.10.0-pre.7" + ethers "5.7.0" -"@polywrap/fs-resolver-plugin-js@0.10.0-pre.10": +"@polywrap/file-system-plugin-js@~0.10.0-pre": version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/fs-resolver-plugin-js/-/fs-resolver-plugin-js-0.10.0-pre.10.tgz#95ba1be2eeca7d1a48dcc204ba9845642f4dbf1d" - integrity sha512-W7yQglo3fSVojZ6TB+YA/U6Cxs5UB5nnZsdVVTDP9e9gXytp9aOyYpimE3OIyPtxGKGBMbAx27oZ8N5mUbo3ZA== + resolved "https://registry.yarnpkg.com/@polywrap/file-system-plugin-js/-/file-system-plugin-js-0.10.0-pre.10.tgz#93e796d4c25203f05605e7e36446facd6c88902d" + integrity sha512-rqiaHJQ62UoN8VdkoSbpaI5owMrZHhza9ixUS65TCgnoI3aYn3QnMjCfCEkEiwmCeKnB9YH/0S2+6NWQR17XJA== dependencies: "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" @@ -1287,66 +1236,18 @@ axios "0.21.4" form-data "4.0.0" -"@polywrap/http-resolver-plugin-js@0.10.0-pre.10": +"@polywrap/logger-plugin-js@0.10.0-pre.10": version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/http-resolver-plugin-js/-/http-resolver-plugin-js-0.10.0-pre.10.tgz#7c28e17b7dbe28d7bf7e4b0594eb198a8a075080" - integrity sha512-mOm++DNoShuLKjgA3VLNdgwtCjmsl1qA726YNexJefucysr9imYLIgVN789uRZiS2/XsP3+Scd374EYG5NmlZA== + resolved "https://registry.yarnpkg.com/@polywrap/logger-plugin-js/-/logger-plugin-js-0.10.0-pre.10.tgz#de4a995c083edc26d72abb7420628b40d81efed2" + integrity sha512-6wBgBvphQRI+LP22+xi1KPcCq4B9dUMB/ZAXOpVTb/X/fOqdNBOS1LTXV+BtCe2KfdqGS6DKIXwGITcMOxIDCg== dependencies: "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" - abort-controller "3.0.0" -"@polywrap/ipfs-http-client-lite@0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@polywrap/ipfs-http-client-lite/-/ipfs-http-client-lite-0.3.0.tgz#b8caf4b4f39413e591aff4367023a04cb6df83a1" - integrity sha512-BriJXaflESPSml0lfsAtp4Prl6i8FC0RoEQpEoTx74E3LIAdiPhdPb8hKDTyOR77oX829WDp0EKsRpQmcvCArg== - dependencies: - abort-controller "^3.0.0" - async-iterator-to-pull-stream "^1.3.0" - buffer "^5.2.1" - cids "^0.7.1" - explain-error "^1.0.4" - form-data "^2.4.0" - iterable-ndjson "^1.1.0" - node-fetch "^2.6.0" - pull-stream-to-async-iterator "^1.0.2" - querystring "^0.2.0" - -"@polywrap/ipfs-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/ipfs-plugin-js/-/ipfs-plugin-js-0.10.0-pre.7.tgz#bf54e6b26b34fb0b6c6c04935a074f56e5e34bb6" - integrity sha512-3lgRc86WC+uOjstZVX6WIO/Tvza8XaOKGIHIQYFf+NyTEG/TueQvkNaUZo7RbHoDaXrvDUvmNyzeW0O0OQzfUA== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/ipfs-http-client-lite" "0.3.0" - "@polywrap/plugin-js" "0.10.0-pre.7" - abort-controller "3.0.0" - is-ipfs "1.0.3" - multiformats "9.7.0" - -"@polywrap/ipfs-resolver-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/ipfs-resolver-plugin-js/-/ipfs-resolver-plugin-js-0.10.0-pre.7.tgz#e82ebae17eacc542d8f83c183674e82715c5bd9c" - integrity sha512-jI+KqpAq0b8P7nmItUwUJ1JTibMfFUvt5mYuylJj9w3Ua15foTpML60uhOCt1kZ4TeaZoq7C1QcytbWTMsfhUQ== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/ipfs-http-client-lite" "0.3.0" - "@polywrap/plugin-js" "0.10.0-pre.7" - abort-controller "3.0.0" - is-ipfs "1.0.3" - -"@polywrap/logger-plugin-js@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@polywrap/logger-plugin-js/-/logger-plugin-js-0.10.0.tgz#9fc10532e86642d7e8eb3fc7a34494cb077610bd" - integrity sha512-Pb+VcXhSGq2ks2bcPPARSLYksRzcadnBsCzf+tv5B3fisZjD+dEEdI8Apj7ol+186njhNVKzoeR5UYdtINUE0g== - dependencies: - "@polywrap/core-js" "0.10.0-pre.5" - "@polywrap/plugin-js" "0.10.0-pre.5" - -"@polywrap/logging-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/logging-js/-/logging-js-0.10.0-pre.10.tgz#e021933bb2f91e344b49a65888584519611fa98a" - integrity sha512-cop0/g9jvwac4zlSR3fzBOEZRCGGex4X3Jdh2KxO0lwyup0xsTjCnj1SmXVzrSLH2grjyf9mJBrkNCgYGsKyGA== +"@polywrap/logging-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/logging-js/-/logging-js-0.10.0-pre.12.tgz#6bba049b0696b12659708fe6ea0e4148f231bce8" + integrity sha512-xEwSMpUAFM4uurkSTRNPyVVVfPBARN9jgunA59zCUP/b/l3RwPxaVRGdauXkKMLB8tY25sK3h6hJlYDT+uE04g== "@polywrap/msgpack-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -1355,24 +1256,17 @@ dependencies: "@msgpack/msgpack" "2.7.2" -"@polywrap/msgpack-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.10.0-pre.5.tgz#c7295e2f5b299654462426afd05a02737de839c6" - integrity sha512-R0NCooOY3d4JPVz7CP6rCmOTraQe6us+b9i213z+Dgu9y8lIEZGEmX+ipCULGvAbcDrSxWHBc8ImtkX0oNv+2g== +"@polywrap/msgpack-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.10.0-pre.12.tgz#45bb73394a8858487871dd7e6b725011164f7826" + integrity sha512-kzDMFls4V814CG9FJTlwkcEHV/0eApMmluB8rnVs8K2cHZDDaxXnFCcrLscZwvB4qUy+u0zKfa5JB+eRP3abBg== dependencies: "@msgpack/msgpack" "2.7.2" -"@polywrap/msgpack-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.10.0-pre.7.tgz#b3b48639e04874f9881a1423d375e927e5b72da0" - integrity sha512-P1Htd76w7fBNM5/aRUaPpKGcfO/tkRo6FImRo8vFM5hvMKaxlc5yO48r/4O6LOlCBSG7mWce5+9QXg/rCWzfZw== - dependencies: - "@msgpack/msgpack" "2.7.2" - -"@polywrap/os-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/os-js/-/os-js-0.10.0-pre.10.tgz#d393141012d46e2dfd6ca33c02afedc63501f4ac" - integrity sha512-tB/2xHTjoEwQottkbOUB7UCtdRb1QhbUQfXrCxwhRBcnNOdsFqcKUh4xLrhZB8j+V/xyf1KwW0ciPwxjqfmHwA== +"@polywrap/os-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/os-js/-/os-js-0.10.0-pre.12.tgz#ea5bc2a3d0aae834449536d8236066ab653889a8" + integrity sha512-JMDjgfwr/BSRK88kxHhesc19cxoHl/dQlnUT20nP5hl7kz5vN+k3HAAxG/Ins5ziVNxtVvKXcTeH6Ze+SdsMEQ== "@polywrap/plugin-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -1385,40 +1279,29 @@ "@polywrap/tracing-js" "0.10.0-pre.10" "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" -"@polywrap/plugin-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.5.tgz#5bd416cb7f52f001144222e5bc83d1e94ff23cb4" - integrity sha512-WQXJs0AOQKr+mZ4jNFECiOTpjrZCdJnKkwa5QcgyTh8Ni7qgDbDfpVbR0SsiuqdJjqFbc8aSivGnubZcg/resg== - dependencies: - "@polywrap/core-js" "0.10.0-pre.5" - "@polywrap/msgpack-js" "0.10.0-pre.5" - "@polywrap/result" "0.10.0-pre.5" - "@polywrap/tracing-js" "0.10.0-pre.5" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.5" - -"@polywrap/plugin-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.7.tgz#d2129546417d113b773467a58a64ab45f6a11854" - integrity sha512-XdHfXaIKH2Pv3Bh5XTnYQOOmCLA2Cx8qdYHCJWbpDA7Ug6F3aSA4e6PNy8R9GzA6/WS5jzN+Wu/YNJdj6mZXHw== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/msgpack-js" "0.10.0-pre.7" - "@polywrap/result" "0.10.0-pre.7" - "@polywrap/tracing-js" "0.10.0-pre.7" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.7" - -"@polywrap/polywrap-manifest-schemas@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-schemas/-/polywrap-manifest-schemas-0.10.0-pre.10.tgz#9c1a68cde7cab7891eefd0af9aec9f3a5b4ee2cf" - integrity sha512-OLTM9JnAcibD6gbKfnrjGXoG9tJVx4ZJ5rQq3Pk87buibiVrjCvZRaY+bZjd0NwaoxZZqlgPBqK7oErISG0hlQ== - -"@polywrap/polywrap-manifest-types-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-types-js/-/polywrap-manifest-types-js-0.10.0-pre.10.tgz#f6638afe603e43983fa50fa7b477325dd52e79d4" - integrity sha512-bDuvi5Mr6IwYJHLLWXgccyEAcb9l9kI2cUE1Tr4/r0PLL/hMi771UcZpS+wxt3hIBK7WGrkneKwWGuwgfmv3DA== - dependencies: - "@polywrap/logging-js" "0.10.0-pre.10" - "@polywrap/polywrap-manifest-schemas" "0.10.0-pre.10" +"@polywrap/plugin-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.12.tgz#71675e66944167d4d9bb0684a9fc41fee0abd62c" + integrity sha512-GZ/l07wVPYiRsHJkfLarX8kpnA9PBjcKwLqS+v/YbTtA1d400BHC8vAu9Fq4WSF78VHZEPQQZbWoLBnoM7fIeA== + dependencies: + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/polywrap-manifest-schemas@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-schemas/-/polywrap-manifest-schemas-0.10.0-pre.12.tgz#e1f7b5bb80bb26d403c81140ed188c97d9249d6b" + integrity sha512-E0xnXryGP3K4JVrNezfoB173NgboUkxzV5hJvqNgUXjhk4yLZqRi16kZSuW8rJ3Jp1qKN290C9jHutluhTQj9g== + +"@polywrap/polywrap-manifest-types-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-types-js/-/polywrap-manifest-types-js-0.10.0-pre.12.tgz#b593b66c83a2e799596270c3221aae69e9375b08" + integrity sha512-5sQF6RaGcQuQkDQTFIrKKt6fxjEmm/+rHkQXBHX7Z4g2wSRyJIoxXiJKzxcyMUl12gQFaWdIY5RxzApwZ0LeOA== + dependencies: + "@polywrap/logging-js" "0.10.0-pre.12" + "@polywrap/polywrap-manifest-schemas" "0.10.0-pre.12" jsonschema "1.4.0" semver "7.3.8" yaml "2.1.3" @@ -1428,56 +1311,40 @@ resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.10.tgz#6e88ac447d92d8a10c7e7892a6371af29a072240" integrity sha512-SqNnEbXky4dFXgps2B2juFShq1024do0f1HLUbuj3MlIPp5aW9g9sfBslsy3YTnpg2QW7LFVT15crrJMgbowIQ== -"@polywrap/result@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.5.tgz#b703878cf7426dee0edc1a2649f79a06153b403e" - integrity sha512-5ATKBdqSS/qmSfJDrQBBq4d34b3Al381bJWJ8nWlcyt8ybo2CqHwQuv/dD02elmhS2G3EK/p/sZCbD1st8CZYw== - -"@polywrap/result@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.7.tgz#0805b8c78f505eb4ade9c79c638f559b89ce7750" - integrity sha512-yxY8urJ+8sCwwdjMhZalt/5xzsGkBxbrPRIRJOQc85Qk2RRcm1khpmrFggCE2OY93gUueRXKH94Gd2biCjd+bg== +"@polywrap/result@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.12.tgz#530f8f5ced2bef189466f9fb8b41a520b12e9372" + integrity sha512-KnGRJMBy1SCJt3mymO3ob0e1asqYOyY+NNKySQ5ocvG/iMlhtODs4dy2EeEtcIFZ+c7TyBPVD4SI863qHQGOUQ== -"@polywrap/schema-bind@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/schema-bind/-/schema-bind-0.10.0-pre.10.tgz#835abe26fcf1f16956304187e794173e0ff6efcc" - integrity sha512-GA9jTVXSGGWozLG+OwMP8yPZDNN179+PFMvlMXpXei3C4l7UT4wVh1J79FPCGF61VDn05QkhMZ/ykMvpvx7iPw== +"@polywrap/schema-bind@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/schema-bind/-/schema-bind-0.10.0-pre.12.tgz#a2922446aa0e65c92604b98f3f378470350fa49b" + integrity sha512-f/v9PIytnNPDpgAHepnjVkX+zD1Wz45G3JW6T84KXIiBrwdeAB15XnC2UXNGk553tD6toiXMUoN8BVNT61Oq0Q== dependencies: - "@polywrap/os-js" "0.10.0-pre.10" - "@polywrap/schema-parse" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/os-js" "0.10.0-pre.12" + "@polywrap/schema-parse" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" mustache "4.0.1" -"@polywrap/schema-compose@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/schema-compose/-/schema-compose-0.10.0-pre.10.tgz#9ab5679aa52d16dd9c7f57ef8a4c8fa7185f5322" - integrity sha512-wFHjGm2UNiBmLtQHsfnimlUDlKSO6JzevAyaOod2Q3iHcNj1qARXZj81SqyMr9/E4wPYEBQTib/Z6YLD2eo/0Q== +"@polywrap/schema-compose@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/schema-compose/-/schema-compose-0.10.0-pre.12.tgz#68c8de890ae84912fe7477573286019a9a864ad3" + integrity sha512-Pg/1pGMF+W2fq+zAl29pMey2rdKSWa3p9Co29WSeteWhmMZqj0aTn7eRa0dg5sJu5Rm/5yFkmnr1aZZpBx5odw== dependencies: - "@polywrap/schema-parse" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/schema-parse" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" graphql "15.5.0" mustache "4.0.1" -"@polywrap/schema-parse@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/schema-parse/-/schema-parse-0.10.0-pre.10.tgz#f61af6eba6272ee6c589db0b6f568bf08926ba8b" - integrity sha512-133Fl2tNOPnJN2KP/xgChs55IV43GQGrjaiiQxG2qkTb5+8hbkMGH1xKl4SXerdWqLOT2zczGZdLZzhNQhQ7lg== +"@polywrap/schema-parse@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/schema-parse/-/schema-parse-0.10.0-pre.12.tgz#1ac89ef0b81539830ba2e934d781cdc00b1cc815" + integrity sha512-KDh7iiMYcmzjDahHDLSohsdF0We/T2KCprU85Bj67OOlO3e1ZiYgnuybaz9NZdXAsY/9WkpeYwsm96lALeg1pA== dependencies: "@dorgjelli/graphql-schema-cycles" "1.1.4" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" graphql "15.5.0" -"@polywrap/test-env-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/test-env-js/-/test-env-js-0.10.0-pre.10.tgz#5201f2c0a25cdbadc5aa5c750e557dc323315e6d" - integrity sha512-7RnCFpA25HUAUGl/lK5mgYTnH8ThsXMoraMHFWcgweqJvdWfpLtpHUf3aqu2/JQru2VfU/hL712yb8lZFgYkdw== - dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/polywrap-manifest-types-js" "0.10.0-pre.10" - axios "0.21.2" - spawn-command "0.0.2-1" - yaml "2.1.3" - "@polywrap/tracing-js@0.10.0-pre.10": version "0.10.0-pre.10" resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.10.tgz#f50fb01883dcba4217a1711718aa53f3dd61cb1c" @@ -1490,10 +1357,10 @@ "@opentelemetry/sdk-trace-base" "1.6.0" "@opentelemetry/sdk-trace-web" "1.6.0" -"@polywrap/tracing-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.5.tgz#3408c469c64a1f4e6f059f40d04c6b6e6328e76f" - integrity sha512-7sUl3K1rCuCxr6LJ2mucf4KcvUgpNbyhiv7Q68BOFEzFgJCpai6IGi4domgYvz/MPsanqVhkMwdf5D1iuK6PwQ== +"@polywrap/tracing-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.12.tgz#61052f06ca23cd73e5de2a58a874b269fcc84be0" + integrity sha512-RUKEQxwHbrcMzQIV8IiRvnEfEfvsgO8/YI9/SqLjkV8V0QUj7UWjuIP7VfQ/ctJJAkm3sZqzeoE+BN+SYAeZSw== dependencies: "@fetsorn/opentelemetry-console-exporter" "0.0.3" "@opentelemetry/api" "1.2.0" @@ -1502,49 +1369,37 @@ "@opentelemetry/sdk-trace-base" "1.6.0" "@opentelemetry/sdk-trace-web" "1.6.0" -"@polywrap/tracing-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.7.tgz#8866bbc6d9cc834499d2e3460c90b80e26c5e682" - integrity sha512-26uVWLJ2WBwcbY1wTFaWaItktMUI/QTMwvewu2pnQhdowXsviubaxn9txM2Of0orBOiM2aZ4djBUlcVpSr5vZg== - dependencies: - "@fetsorn/opentelemetry-console-exporter" "0.0.3" - "@opentelemetry/api" "1.2.0" - "@opentelemetry/exporter-trace-otlp-http" "0.32.0" - "@opentelemetry/resources" "1.6.0" - "@opentelemetry/sdk-trace-base" "1.6.0" - "@opentelemetry/sdk-trace-web" "1.6.0" - -"@polywrap/uri-resolver-extensions-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/uri-resolver-extensions-js/-/uri-resolver-extensions-js-0.10.0-pre.10.tgz#650041d7ceb72375aa132fb4e2f9a3bdebcdb450" - integrity sha512-vQU1BnPJ/E/QJrzKJbfdAYsNHkSNJ6jPrQ6ax033PtfBHef9RCKpj5trIS2VxJzpPC5KFgBCrhVb0LwDhEGp8A== - dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wasm-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" - -"@polywrap/uri-resolvers-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/uri-resolvers-js/-/uri-resolvers-js-0.10.0-pre.10.tgz#bb4112ffb18aa6828ab730e60710d507b2f5f4ad" - integrity sha512-kgoM2zlBSsH/NDY+0Rn/WLyV17Pe2LNMjhxmHPcFVQJ5rkbhDWv9tIb1CE7D220bj/EUaaFseYkUVep1j7bIoQ== - dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" - -"@polywrap/wasm-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/wasm-js/-/wasm-js-0.10.0-pre.10.tgz#26c4d6df940bc02215e46e177d800fcfdb3cb5e3" - integrity sha512-0I8v8ZwojA6Sy0wZA2ZxTCwTx65eIcrn83KFvfNsMCdBmj8wBgTlzE+VlJfR+Qt9T3gUukN89N5l1nxNJBF0+w== - dependencies: - "@polywrap/asyncify-js" "0.10.0-pre.10" - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/msgpack-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/tracing-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" +"@polywrap/uri-resolver-extensions-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/uri-resolver-extensions-js/-/uri-resolver-extensions-js-0.10.0-pre.12.tgz#a96764685ba9323f715839353bc66c1b9f2f406c" + integrity sha512-CywvCeNj7eVW6JV9YiWxkwl7hMLpXkdfMF7/MKeYFHJ/RK1ALHJAAGuHGJTwBiN6FuRVBXD2LA4YW7U/oS5wiQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wasm-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/uri-resolvers-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/uri-resolvers-js/-/uri-resolvers-js-0.10.0-pre.12.tgz#86543e4d672f5406fd93e9e23a43d6006f4d3973" + integrity sha512-9Fj4gFNUSP/3GgQhb+W5zLuBJrQYkvxKdEsLdQqZwvANuz3p420QtwYLxZ3Vr3pGRbm18bzd1dP0dDAQpUXrYQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/wasm-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/wasm-js/-/wasm-js-0.10.0-pre.12.tgz#70b64a500b0353523ba54ef91065df11a295b51c" + integrity sha512-5dx2TR18WE2nIALUljHZAyZ0pXbHihPwKPiHmQUX7f1JvlUlkwWdTr5pMB0zCWxMIVPOISTw4C9l/zhgrJ3eeg== + dependencies: + "@polywrap/asyncify-js" "0.10.0-pre.12" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" "@polywrap/wrap-manifest-types-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -1555,23 +1410,14 @@ jsonschema "1.4.0" semver "7.3.8" -"@polywrap/wrap-manifest-types-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.10.0-pre.5.tgz#bf37741becd9856458400f4f972f8c4a4fc1ac5e" - integrity sha512-7IbPpt76PXjhBkd8SPJARw4P9bpekb44YdrnsKXTeT5d8JQ5OgY4syiMVsmTraMdmHJxkJTZ/raqSZHLAxWLiw== - dependencies: - json-schema-ref-parser "9.0.9" - jsonschema "1.4.0" - semver "7.3.5" - -"@polywrap/wrap-manifest-types-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.10.0-pre.7.tgz#adf8758cc99d52c0cba52e559dcc5d186eb0a15c" - integrity sha512-UlX9FOJyh1vcuKkKXwo2rvt1g4eiJQRj2BakNWA0qdrVGER1abhRyEYCbogOgiooloCHkMQ7Vqz6Lv3pLvHRsQ== +"@polywrap/wrap-manifest-types-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.10.0-pre.12.tgz#a8498b71f89ba9d8b90972faa7bfddffd5dd52c1" + integrity sha512-Bc3yAm5vHOKBwS8rkbKPNwa2puV5Oa6jws6EP6uPpr2Y/Iv4zyEBmzMWZuO1eWi2x7DM5M9cbfRbDfT6oR/Lhw== dependencies: - json-schema-ref-parser "9.0.9" + "@apidevtools/json-schema-ref-parser" "9.0.9" jsonschema "1.4.0" - semver "7.3.5" + semver "7.3.8" "@sinonjs/commons@^1.7.0": version "1.8.6" @@ -1673,9 +1519,9 @@ integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/node@*": - version "18.14.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.6.tgz#ae1973dd2b1eeb1825695bb11ebfb746d27e3e93" - integrity sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA== + version "18.15.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.2.tgz#0407ceb15647f186318101546d5ae40725b73810" + integrity sha512-sDPHm2wfx2QhrMDK0pOt2J4KLJMAcerqWNvnED0itPRJWvI+bK+uNHzcH1dFsBlf7G3u8tqXmRF3wkvL9yUwMw== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1721,7 +1567,7 @@ abab@^2.0.3, abab@^2.0.5: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -abort-controller@3.0.0, abort-controller@^3.0.0: +abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== @@ -1855,14 +1701,6 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== -async-iterator-to-pull-stream@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/async-iterator-to-pull-stream/-/async-iterator-to-pull-stream-1.3.0.tgz#3a6b9f3cceadff972ca20eb480e3cb43f8789732" - integrity sha512-NjyhAEz/sx32olqgKIk/2xbWEM6o8qef1yetIgb0U/R3oBgndP1kE/0CslowH3jvnA94BO4I6OXpOkTKH7Z1AA== - dependencies: - get-iterator "^1.0.2" - pull-stream-to-async-iterator "^1.0.1" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2139,7 +1977,7 @@ buffer-from@1.x, buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^5.2.1, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: +buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -2199,9 +2037,9 @@ camelcase@^6.0.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001449: - version "1.0.30001460" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001460.tgz#31d2e26f0a2309860ed3eff154e03890d9d851a7" - integrity sha512-Bud7abqjvEjipUkpLs4D7gR0l8hBYBHoa+tGtKJHvT2AYzLp1z7EmVkUT4ERpVUfca8S2HGIVs883D8pUH1ZzQ== + version "1.0.30001466" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz#c1e6197c540392e09709ecaa9e3e403428c53375" + integrity sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w== capture-exit@^2.0.0: version "2.0.0" @@ -2289,17 +2127,6 @@ cids@^1.0.0: multihashes "^4.0.1" uint8arrays "^3.0.0" -cids@~0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.8.3.tgz#aaf48ac8ed857c3d37dad94d8db1d8c9407b92db" - integrity sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA== - dependencies: - buffer "^5.6.0" - class-is "^1.1.0" - multibase "^1.0.0" - multicodec "^1.0.1" - multihashes "^1.0.1" - cjs-module-lexer@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" @@ -2380,7 +2207,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.6, combined-stream@^1.0.8: +combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2407,14 +2234,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concurrent-plugin-js@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/concurrent-plugin-js/-/concurrent-plugin-js-0.1.2.tgz#206b9f12723fb99d79a4c03c0f28b427deca6ff4" - integrity sha512-MWpw9uuQtQ/IerG2CtGjFm+UTmDy0D+D7HZh4hW5PYTk4SbcYBVJtK6n7Yk3tg8NE3rcXLnRxLBoW7UbO2o5hw== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/msgpack-js" "0.10.0-pre.7" - content-hash@2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" @@ -2628,9 +2447,9 @@ electron-fetch@^1.7.2: encoding "^0.1.13" electron-to-chromium@^1.4.284: - version "1.4.320" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.320.tgz#4d83a90ff74f93939c5413c2ac5a16c696600632" - integrity sha512-h70iRscrNluMZPVICXYl5SSB+rBKo22XfuIS1ER0OQxQZpKTnFpuS6coj7wY9M/3trv7OR88rRMOlKmRvDty7Q== + version "1.4.328" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.328.tgz#b4565ffa502542b561cea16086d6d9b916c7095a" + integrity sha512-DE9tTy2PNmy1v55AZAO542ui+MLC2cvINMK4P2LXGsJdput/ThVG9t+QGecPuAZZSgC8XoI+Jh9M1OG9IoNSCw== elliptic@6.5.4: version "6.5.4" @@ -2736,51 +2555,6 @@ eth-ens-namehash@2.0.8: idna-uts46-hx "^2.3.1" js-sha3 "^0.5.7" -ethereum-provider-js@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/ethereum-provider-js/-/ethereum-provider-js-0.1.7.tgz#a340545c267b7068c9ff697ba5e891c20d6bc5a8" - integrity sha512-x//Mdfhsw3IJPemWufLtZX7JkOFRJ8vVGHkFLjdwDew/EErNq4aV3UfjMylcmeP21WVoOmZzNyljEMtvQFng4w== - dependencies: - "@ethersproject/address" "5.7.0" - "@ethersproject/providers" "5.7.0" - "@polywrap/core-js" "0.10.0-pre.7" - ethers "5.7.0" - -ethers@5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.7.tgz#41c3d774e0a57bfde12b0198885789fb41a14976" - integrity sha512-1Zu9s+z4BgsDAZcGIYACJdWBB6mVtCCmUonj68Njul7STcSdgwOyj0sCAxCUr2Nsmsamckr4E12q3ecvZPGAUw== - dependencies: - "@ethersproject/abi" "^5.0.0" - "@ethersproject/abstract-provider" "^5.0.0" - "@ethersproject/abstract-signer" "^5.0.0" - "@ethersproject/address" "^5.0.0" - "@ethersproject/base64" "^5.0.0" - "@ethersproject/bignumber" "^5.0.0" - "@ethersproject/bytes" "^5.0.0" - "@ethersproject/constants" "^5.0.0" - "@ethersproject/contracts" "^5.0.0" - "@ethersproject/hash" "^5.0.0" - "@ethersproject/hdnode" "^5.0.0" - "@ethersproject/json-wallets" "^5.0.0" - "@ethersproject/keccak256" "^5.0.0" - "@ethersproject/logger" "^5.0.0" - "@ethersproject/networks" "^5.0.0" - "@ethersproject/pbkdf2" "^5.0.0" - "@ethersproject/properties" "^5.0.0" - "@ethersproject/providers" "^5.0.0" - "@ethersproject/random" "^5.0.0" - "@ethersproject/rlp" "^5.0.0" - "@ethersproject/sha2" "^5.0.0" - "@ethersproject/signing-key" "^5.0.0" - "@ethersproject/solidity" "^5.0.0" - "@ethersproject/strings" "^5.0.0" - "@ethersproject/transactions" "^5.0.0" - "@ethersproject/units" "^5.0.0" - "@ethersproject/wallet" "^5.0.0" - "@ethersproject/web" "^5.0.0" - "@ethersproject/wordlists" "^5.0.0" - ethers@5.7.0: version "5.7.0" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.0.tgz#0055da174b9e076b242b8282638bc94e04b39835" @@ -2885,11 +2659,6 @@ expect@^26.6.2: jest-message-util "^26.6.2" jest-regex-util "^26.0.0" -explain-error@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/explain-error/-/explain-error-1.0.4.tgz#a793d3ac0cad4c6ab571e9968fbbab6cb2532929" - integrity sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ== - extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -3015,15 +2784,6 @@ form-data@4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@^2.4.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -3171,11 +2931,6 @@ graphql-json-transform@^1.1.0-alpha.0: resolved "https://registry.yarnpkg.com/graphql-json-transform/-/graphql-json-transform-1.1.0-alpha.0.tgz#fb0c88d24840067e6c55ac64bbc8d4e5de245d2d" integrity sha512-I6lR/lYEezSz4iru0f7a/wR8Rzi3pCafk7S0bX2b/WQOtK0vKabxLShGBXIslsi0arMehIjvOPHJl7MpOUqj0w== -graphql-tag@2.10.4: - version "2.10.4" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.4.tgz#2f301a98219be8b178a6453bb7e33b79b66d8f83" - integrity sha512-O7vG5BT3w6Sotc26ybcvLKNTdfr4GfsIVMD+LdYqXCeJIYPRyp8BIsDOUtxw7S1PYvRw5vH3278J2EDezR6mfA== - graphql@15.5.0: version "15.5.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" @@ -3657,19 +3412,6 @@ is-ip@^3.1.0: dependencies: ip-regex "^4.0.0" -is-ipfs@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-1.0.3.tgz#4b8c4995c46beac38f0c05f8cecd77093dd6a6b3" - integrity sha512-7SAfhxp39rxMvr95qjHMtsle1xa7zXpIbhX/Q77iXKtMVnQ0Fr9AVpAUq+bl3HPXGXDpZJFP0hzWBZaMwD6vGg== - dependencies: - buffer "^5.6.0" - cids "~0.8.0" - iso-url "~0.4.7" - mafmt "^7.1.0" - multiaddr "^7.4.3" - multibase "~0.7.0" - multihashes "~0.4.19" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -3897,13 +3639,6 @@ it-to-stream@^0.1.2: p-fifo "^1.0.0" readable-stream "^3.6.0" -iterable-ndjson@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz#36f7e8a5bb04fd087d384f29e44fc4280fc014fc" - integrity sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg== - dependencies: - string_decoder "^1.2.0" - jest-changed-files@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" @@ -4365,13 +4100,6 @@ json-parse-even-better-errors@^2.3.0: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-schema-ref-parser@9.0.9: - version "9.0.9" - resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#66ea538e7450b12af342fa3d5b8458bc1e1e013f" - integrity sha512-qcP2lmGy+JUoQJ4DOQeLaZDqH9qSkeGCK3suKWxJXS82dg728Mn3j97azDMaOUmJAN4uCq91LdPx4K7E8F1a7Q== - dependencies: - "@apidevtools/json-schema-ref-parser" "9.0.9" - json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" @@ -4488,13 +4216,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -mafmt@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-7.1.0.tgz#4126f6d0eded070ace7dbbb6fb04977412d380b5" - integrity sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA== - dependencies: - multiaddr "^7.3.0" - make-dir@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -4662,18 +4383,6 @@ multiaddr-to-uri@^6.0.0: dependencies: multiaddr "^8.0.0" -multiaddr@^7.3.0, multiaddr@^7.4.3: - version "7.5.0" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-7.5.0.tgz#976c88e256e512263445ab03b3b68c003d5f485e" - integrity sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw== - dependencies: - buffer "^5.5.0" - cids "~0.8.0" - class-is "^1.1.0" - is-ip "^3.1.0" - multibase "^0.7.0" - varint "^5.0.0" - multiaddr@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-8.1.2.tgz#74060ff8636ba1c01b2cf0ffd53950b852fa9b1f" @@ -4688,7 +4397,7 @@ multiaddr@^8.0.0: uint8arrays "^1.1.0" varint "^5.0.0" -multibase@^0.7.0, multibase@~0.7.0: +multibase@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== @@ -4696,14 +4405,6 @@ multibase@^0.7.0, multibase@~0.7.0: base-x "^3.0.8" buffer "^5.5.0" -multibase@^1.0.0, multibase@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-1.0.1.tgz#4adbe1de0be8a1ab0274328b653c3f1903476724" - integrity sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - multibase@^3.0.0, multibase@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/multibase/-/multibase-3.1.2.tgz#59314e1e2c35d018db38e4c20bb79026827f0f2f" @@ -4734,7 +4435,7 @@ multicodec@^0.5.5: dependencies: varint "^5.0.0" -multicodec@^1.0.0, multicodec@^1.0.1: +multicodec@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== @@ -4758,17 +4459,12 @@ multicodec@^3.0.1: uint8arrays "^3.0.0" varint "^6.0.0" -multiformats@9.7.0: - version "9.7.0" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.7.0.tgz#845799e8df70fbb6b15922500e45cb87cf12f7e5" - integrity sha512-uv/tcgwk0yN4DStopnBN4GTgvaAlYdy6KnZpuzEPFOYQd71DYFJjs0MN1ERElAflrZaYyGBWXyGxL5GgrxIx0Q== - multiformats@^9.4.2: version "9.9.0" resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== -multihashes@^0.4.15, multihashes@~0.4.15, multihashes@~0.4.19: +multihashes@^0.4.15, multihashes@~0.4.15: version "0.4.21" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== @@ -4777,15 +4473,6 @@ multihashes@^0.4.15, multihashes@~0.4.15, multihashes@~0.4.19: multibase "^0.7.0" varint "^5.0.0" -multihashes@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-1.0.1.tgz#a89415d68283cf6287c6e219e304e75ce7fb73fe" - integrity sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw== - dependencies: - buffer "^5.6.0" - multibase "^1.0.1" - varint "^5.0.0" - multihashes@^3.0.1: version "3.1.2" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-3.1.2.tgz#ffa5e50497aceb7911f7b4a3b6cada9b9730edfc" @@ -5152,33 +4839,31 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -polywrap@0.10.0-pre.10: - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/polywrap/-/polywrap-0.10.0-pre.10.tgz#1c373112d12bdc4c6baaa506593ff14a4b1a323b" - integrity sha512-u0uobZuVkHKSqRqdZeHoFs+FNgI3wDJ4Gl940H6SYJtFZi0Uc0UE85WX5UvqVBQrQ6GLjAGWxi05iQ82JVa18A== +polywrap@0.10.0-pre.12: + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/polywrap/-/polywrap-0.10.0-pre.12.tgz#ad747522fa94584bb7038297b819e08768fa0e75" + integrity sha512-k1VztkFZcOu+6T12gexE2ipOeyFarVRjj61uLNJXJ8k2+fMhgc8aKaWV9RtKlwHGFltBUsYEgaqjXprwMSeVVw== dependencies: "@apidevtools/json-schema-ref-parser" "9.0.9" "@ethersproject/providers" "5.6.8" "@ethersproject/wallet" "5.6.2" "@formatjs/intl" "1.8.2" - "@polywrap/asyncify-js" "0.10.0-pre.10" - "@polywrap/client-config-builder-js" "0.10.0-pre.10" - "@polywrap/client-js" "0.10.0-pre.10" - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/ens-resolver-plugin-js" "0.10.0-pre.10" - "@polywrap/ipfs-plugin-js" "~0.10.0-pre" - "@polywrap/logging-js" "0.10.0-pre.10" - "@polywrap/os-js" "0.10.0-pre.10" - "@polywrap/polywrap-manifest-types-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/schema-bind" "0.10.0-pre.10" - "@polywrap/schema-compose" "0.10.0-pre.10" - "@polywrap/schema-parse" "0.10.0-pre.10" - "@polywrap/test-env-js" "0.10.0-pre.10" - "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wasm-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/asyncify-js" "0.10.0-pre.12" + "@polywrap/client-config-builder-js" "0.10.0-pre.12" + "@polywrap/client-js" "0.10.0-pre.12" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/ethereum-provider-js" "~0.2.3" + "@polywrap/logging-js" "0.10.0-pre.12" + "@polywrap/os-js" "0.10.0-pre.12" + "@polywrap/polywrap-manifest-types-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/schema-bind" "0.10.0-pre.12" + "@polywrap/schema-compose" "0.10.0-pre.12" + "@polywrap/schema-parse" "0.10.0-pre.12" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wasm-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" axios "0.21.2" chalk "4.1.0" chokidar "3.5.1" @@ -5186,7 +4871,6 @@ polywrap@0.10.0-pre.10: content-hash "2.5.2" copyfiles "2.4.1" docker-compose "0.23.17" - ethereum-provider-js "0.1.7" extract-zip "2.0.1" form-data "4.0.0" fs-extra "9.0.1" @@ -5265,18 +4949,6 @@ psl@^1.1.33: resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== -pull-stream-to-async-iterator@^1.0.1, pull-stream-to-async-iterator@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pull-stream-to-async-iterator/-/pull-stream-to-async-iterator-1.0.2.tgz#5cc1a3a146ef6bbf01c17755647369b683b24986" - integrity sha512-c3KRs2EneuxP7b6pG9fvQTIjatf33RbIErhbQ75s5r2MI6E8R74NZC1nJgXc8kcmqiQxmr+TWY+WwK2mWaUnlA== - dependencies: - pull-stream "^3.6.9" - -pull-stream@^3.6.9: - version "3.7.0" - resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.7.0.tgz#85de0e44ff38a4d2ad08cc43fc458e1922f9bf0b" - integrity sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw== - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -5295,11 +4967,6 @@ punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -5335,9 +5002,9 @@ read-pkg@^5.2.0: type-fest "^0.6.0" readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.1.tgz#f9f9b5f536920253b3d26e7660e7da4ccff9bb62" - integrity sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ== + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -5537,13 +5204,6 @@ scrypt-js@3.0.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - semver@7.3.8, semver@7.x, semver@^7.3.2: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" @@ -5697,9 +5357,9 @@ spawn-command@0.0.2-1: integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg== spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" @@ -5718,9 +5378,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.12" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" - integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== + version "3.0.13" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" @@ -5778,7 +5438,7 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string_decoder@^1.1.1, string_decoder@^1.2.0: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== diff --git a/provider/interface/package.json b/provider/interface/package.json index 0063c54..30ff11d 100644 --- a/provider/interface/package.json +++ b/provider/interface/package.json @@ -8,7 +8,7 @@ "deploy": "npx polywrap deploy -o deployment.json" }, "devDependencies": { - "polywrap": "0.10.0-pre.10" + "polywrap": "0.10.0-pre.12" }, "publishConfig": { "access": "public" diff --git a/provider/interface/src/schema.graphql b/provider/interface/src/schema.graphql index 6b8972d..c81f9fc 100644 --- a/provider/interface/src/schema.graphql +++ b/provider/interface/src/schema.graphql @@ -3,11 +3,15 @@ type Connection { networkNameOrChainId: String } +type Env { + connection: Connection +} + type Module { """ Send a remote RPC request to the registered provider """ - request(method: String!, params: String, connection: Connection): String! + request(method: String!, params: JSON, connection: Connection): JSON! """ Wait for a transaction to be confirmed @@ -19,6 +23,11 @@ type Module { connection: Connection ): Boolean! + """ + Get the ethereum address of the signer. Return null if signer is missing. + """ + signerAddress(connection: Connection): String + """ Sign a message and return the signature. Throws if signer is missing. """ diff --git a/provider/interface/yarn.lock b/provider/interface/yarn.lock index 048d375..9ae2973 100644 --- a/provider/interface/yarn.lock +++ b/provider/interface/yarn.lock @@ -20,7 +20,7 @@ graphql "15.5.0" graphql-json-transform "^1.1.0-alpha.0" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -35,7 +35,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.0.0", "@ethersproject/abstract-provider@^5.6.1", "@ethersproject/abstract-provider@^5.7.0": +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.6.1", "@ethersproject/abstract-provider@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== @@ -48,7 +48,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.0.0", "@ethersproject/abstract-signer@^5.6.2", "@ethersproject/abstract-signer@^5.7.0": +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.6.2", "@ethersproject/abstract-signer@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== @@ -59,18 +59,7 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.7.tgz#ee7fd7d3b3a400dec6035c7b3f0b7e4652207308" - integrity sha512-+63DiYG+2og6rFNvQmLlLw8i5LtyT65n+jtHd06Ic81rLHc+JUKRpeZFhBa+gqh9f+P8V0xtKR5NI/EHXOfgSw== - dependencies: - "@ethersproject/bignumber" "^5.0.10" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/keccak256" "^5.0.3" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/rlp" "^5.0.3" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.0", "@ethersproject/address@^5.6.1", "@ethersproject/address@^5.7.0": +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.6.1", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -81,21 +70,13 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/rlp" "^5.7.0" -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.0.0", "@ethersproject/base64@^5.6.1", "@ethersproject/base64@^5.7.0": +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.6.1", "@ethersproject/base64@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== dependencies: "@ethersproject/bytes" "^5.7.0" -"@ethersproject/basex@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.0.7.tgz#2f7026b12c9dee6cdc7b7bf1805461836e635495" - integrity sha512-OsXnRsujGmYD9LYyJlX+cVe5KfwgLUbUJrJMWdzRWogrygXd5HvGd7ygX1AYjlu1z8W/+t2FoQnczDR/H2iBjA== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.6.1", "@ethersproject/basex@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" @@ -104,7 +85,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.0.0", "@ethersproject/bignumber@^5.0.10", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -113,21 +94,21 @@ "@ethersproject/logger" "^5.7.0" bn.js "^5.2.1" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.0.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.0.9", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.0.0", "@ethersproject/constants@^5.6.1", "@ethersproject/constants@^5.7.0": +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.6.1", "@ethersproject/constants@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== dependencies: "@ethersproject/bignumber" "^5.7.0" -"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.0.0": +"@ethersproject/contracts@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== @@ -143,7 +124,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/transactions" "^5.7.0" -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.0.0", "@ethersproject/hash@^5.6.1", "@ethersproject/hash@^5.7.0": +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.6.1", "@ethersproject/hash@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== @@ -158,7 +139,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.0.0", "@ethersproject/hdnode@^5.6.2", "@ethersproject/hdnode@^5.7.0": +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.6.2", "@ethersproject/hdnode@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== @@ -176,7 +157,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.0.0", "@ethersproject/json-wallets@^5.6.1", "@ethersproject/json-wallets@^5.7.0": +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.6.1", "@ethersproject/json-wallets@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== @@ -195,7 +176,7 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.0.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== @@ -203,7 +184,7 @@ "@ethersproject/bytes" "^5.7.0" js-sha3 "0.8.0" -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.0.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== @@ -215,14 +196,14 @@ dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.6.3", "@ethersproject/networks@^5.7.0": +"@ethersproject/networks@^5.6.3", "@ethersproject/networks@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.0.0", "@ethersproject/pbkdf2@^5.7.0": +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== @@ -230,7 +211,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/sha2" "^5.7.0" -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.0.0", "@ethersproject/properties@^5.0.7", "@ethersproject/properties@^5.6.0", "@ethersproject/properties@^5.7.0": +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.6.0", "@ethersproject/properties@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== @@ -289,33 +270,7 @@ bech32 "1.1.4" ws "7.4.6" -"@ethersproject/providers@^5.0.0": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.0.0", "@ethersproject/random@^5.6.1", "@ethersproject/random@^5.7.0": +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.6.1", "@ethersproject/random@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== @@ -323,7 +278,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.0.0", "@ethersproject/rlp@^5.0.3", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== @@ -331,7 +286,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.0.0", "@ethersproject/sha2@^5.6.1", "@ethersproject/sha2@^5.7.0": +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.6.1", "@ethersproject/sha2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== @@ -340,7 +295,7 @@ "@ethersproject/logger" "^5.7.0" hash.js "1.1.7" -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.0.0", "@ethersproject/signing-key@^5.6.2", "@ethersproject/signing-key@^5.7.0": +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.6.2", "@ethersproject/signing-key@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== @@ -352,7 +307,7 @@ elliptic "6.5.4" hash.js "1.1.7" -"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.0.0": +"@ethersproject/solidity@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== @@ -364,7 +319,7 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.0.0", "@ethersproject/strings@^5.6.1", "@ethersproject/strings@^5.7.0": +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.6.1", "@ethersproject/strings@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== @@ -373,7 +328,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.0.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -388,7 +343,7 @@ "@ethersproject/rlp" "^5.7.0" "@ethersproject/signing-key" "^5.7.0" -"@ethersproject/units@5.7.0", "@ethersproject/units@^5.0.0": +"@ethersproject/units@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== @@ -418,7 +373,7 @@ "@ethersproject/transactions" "^5.6.2" "@ethersproject/wordlists" "^5.6.1" -"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.0.0": +"@ethersproject/wallet@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== @@ -450,7 +405,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/web@^5.0.0", "@ethersproject/web@^5.6.1", "@ethersproject/web@^5.7.0": +"@ethersproject/web@^5.6.1", "@ethersproject/web@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== @@ -461,7 +416,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.0.0", "@ethersproject/wordlists@^5.6.1", "@ethersproject/wordlists@^5.7.0": +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.6.1", "@ethersproject/wordlists@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== @@ -640,58 +595,63 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz#ed410c9eb0070491cff9fe914246ce41f88d6f74" integrity sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ== -"@polywrap/asyncify-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/asyncify-js/-/asyncify-js-0.10.0-pre.10.tgz#ecc21ce37e468c6da8c43fdb35e2cad4fe6d63cb" - integrity sha512-KurmLTRvhzFCfJkIgsj/eYCxacAsIwIwu8XRqjpjvL47BPNBYuqflaJgFwrRrPpq16TPSNBDFGRm6RMlATXFDA== +"@polywrap/asyncify-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/asyncify-js/-/asyncify-js-0.10.0-pre.12.tgz#3f112cf3f0d24479462c414dc8b0fe43accaf572" + integrity sha512-cXESk3caOtuz/VS3vQ/yLXHraNaSkZuw4JFtdpy8C7AKaEvBwS5Pu44SaLD7KY/jeJJfhVUWjdXs0WHMfK17yQ== -"@polywrap/client-config-builder-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/client-config-builder-js/-/client-config-builder-js-0.10.0-pre.10.tgz#6b49bad4e4f07b3b9ae6c87a173c1a3c2d9288f1" - integrity sha512-HM8LGHZC4QXUOTKWai/Kx0SgsIT4unaSTEtE4hf+rm+5qaZw2abNAqK20HaRpx09lBLcwQk8w89VR/O+TKfpSg== +"@polywrap/client-config-builder-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/client-config-builder-js/-/client-config-builder-js-0.10.0-pre.12.tgz#75d1f3e4bd5e2ff2486014a65ff609e7e5b617ed" + integrity sha512-S9fJ5oVIFa/fTd0V3+Qw8Ss66HrMH6WOKI+s1whjeqL7HYKf4Ktt+bgA/MPfRFP7FgyVFF4mzaeHDWFjNZEaTA== dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/ens-resolver-plugin-js" "0.10.0-pre.10" - "@polywrap/fs-plugin-js" "~0.10.0-pre" - "@polywrap/fs-resolver-plugin-js" "0.10.0-pre.10" + "@polywrap/concurrent-plugin-js" "~0.10.0-pre" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/ethereum-provider-js" "~0.2.3" + "@polywrap/file-system-plugin-js" "~0.10.0-pre" "@polywrap/http-plugin-js" "~0.10.0-pre" - "@polywrap/http-resolver-plugin-js" "0.10.0-pre.10" - "@polywrap/ipfs-plugin-js" "~0.10.0-pre" - "@polywrap/ipfs-resolver-plugin-js" "~0.10.0-pre" - "@polywrap/logger-plugin-js" "0.10.0" - "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wasm-js" "0.10.0-pre.10" + "@polywrap/logger-plugin-js" "0.10.0-pre.10" + "@polywrap/plugin-js" "0.10.0-pre.12" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wasm-js" "0.10.0-pre.12" base64-to-uint8array "1.0.0" - concurrent-plugin-js "0.1.2" - ethereum-provider-js "0.1.7" -"@polywrap/client-js@0.10.0-pre.10": +"@polywrap/client-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/client-js/-/client-js-0.10.0-pre.12.tgz#47361acf821a8c446511ebcde063183eb34b0af1" + integrity sha512-+TzX6ifuBkjOweObwI1cNFEMUDivTs/wZoNiYenD3wnMMdxkf705YQmYfgptiUs+2iub+nmdBAH6wIDgngjYCQ== + dependencies: + "@polywrap/client-config-builder-js" "0.10.0-pre.12" + "@polywrap/core-client-js" "0.10.0-pre.12" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/plugin-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/concurrent-plugin-js@~0.10.0-pre": version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/client-js/-/client-js-0.10.0-pre.10.tgz#c6d3a958f54c079c26a74ed4fa9d3c536cff2e77" - integrity sha512-HX9URxY/CnFtkArej1cgQtuN7h2d7afspUVIaAF1egyhaFsHi8TgEN274sIdNFOnuuYR/Vs8lIgTeHXwp3+n/w== + resolved "https://registry.yarnpkg.com/@polywrap/concurrent-plugin-js/-/concurrent-plugin-js-0.10.0-pre.10.tgz#106e015173cabed5b043cbc2fac00a6ccf58f9a0" + integrity sha512-CZUbEEhplLzXpl1xRsF5aRgZLeu4sJxhXA0GWTMqzmGjhqvMPClOMfqklFPmPuCyq76q068XPpYavHjGKNmN2g== dependencies: - "@polywrap/client-config-builder-js" "0.10.0-pre.10" - "@polywrap/core-client-js" "0.10.0-pre.10" "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/msgpack-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/tracing-js" "0.10.0-pre.10" - "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" -"@polywrap/core-client-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/core-client-js/-/core-client-js-0.10.0-pre.10.tgz#8639b5a3683a2ddcc4cb77ba9a80427d9457391c" - integrity sha512-Zfco21nQkS7AAR+pqTuOJIw0ef2JZUR/mWuCQw9Gn64e/L8kqLWoh62JyxEeuBS1gZ+PWpozHk/Fnuced1/e6w== +"@polywrap/core-client-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/core-client-js/-/core-client-js-0.10.0-pre.12.tgz#561f38b7d6e5304927dbec73a4310bce65317d31" + integrity sha512-zd1vmfOqwtj6CJoSU2n6UaK9666RXiBZggmfA0LYhs6DPUV7Zk2YiwUnC2KrWyoCNevBhEgdgwDs80Z124lmJg== dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/msgpack-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/tracing-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" "@polywrap/core-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -702,16 +662,14 @@ "@polywrap/tracing-js" "0.10.0-pre.10" "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" -"@polywrap/core-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.5.tgz#8457f168235faae19342a87aed6ddce44a56fb59" - integrity sha512-E92OGSBN5EdeYMj8wtZq4Hibh5qnAAzfSbDE40/LH6tWkrCv/gvJxtlA8gPDiMHXZFSx02zETrz7AZawCg8UXA== +"@polywrap/core-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.12.tgz#125e88439007cc13f2405d3f402b504af9dc173e" + integrity sha512-krDcDUyUq2Xdukgkqwy5ldHF+jyecZy/L14Et8bOJ4ONpTZUdedhkVp5lRumcNjYOlybpF86B0o6kO0eUEGkpQ== dependencies: - "@polywrap/result" "0.10.0-pre.5" - "@polywrap/tracing-js" "0.10.0-pre.5" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.5" - graphql "15.5.0" - graphql-tag "2.10.4" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" "@polywrap/core-js@0.10.0-pre.7": version "0.10.0-pre.7" @@ -722,29 +680,21 @@ "@polywrap/tracing-js" "0.10.0-pre.7" "@polywrap/wrap-manifest-types-js" "0.10.0-pre.7" -"@polywrap/ens-resolver-plugin-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/ens-resolver-plugin-js/-/ens-resolver-plugin-js-0.10.0-pre.10.tgz#ab64a8cde32b6e1c87125885d8739feaa99aaf1e" - integrity sha512-2QXMKidCe4t8TqvJSz+m7DkfAb89SYqjcBhO9pY1MWQLJRVadIW6USKGM9l8nnljLdcOiylq+K/W08yWu12eGw== +"@polywrap/ethereum-provider-js@~0.2.3": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@polywrap/ethereum-provider-js/-/ethereum-provider-js-0.2.4.tgz#3df1a6548da191618bb5cae7928c7427e69e0030" + integrity sha512-64xRnniboxxHNZ4/gD6SS4T+QmJPUMbIYZ2hyLODb2QgH3qDBiU+i4gdiQ/BL3T8Sn/0iOxvTIgZalVDJRh2iw== dependencies: - "@ethersproject/address" "5.0.7" - "@ethersproject/basex" "5.0.7" + "@ethersproject/address" "5.7.0" + "@ethersproject/providers" "5.7.0" "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" - ethers "5.0.7" - -"@polywrap/fs-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/fs-plugin-js/-/fs-plugin-js-0.10.0-pre.7.tgz#d066fac96869363de512978bb66204b589ffa9a1" - integrity sha512-zhNOrzaK+X95orrD9FgHRt6etUMq2kjzfZtbPGHcBxN3JR81rtO+7UsVfCdz1U2VoHXsKOZ6t59JhHVfvVRP/g== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/plugin-js" "0.10.0-pre.7" + ethers "5.7.0" -"@polywrap/fs-resolver-plugin-js@0.10.0-pre.10": +"@polywrap/file-system-plugin-js@~0.10.0-pre": version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/fs-resolver-plugin-js/-/fs-resolver-plugin-js-0.10.0-pre.10.tgz#95ba1be2eeca7d1a48dcc204ba9845642f4dbf1d" - integrity sha512-W7yQglo3fSVojZ6TB+YA/U6Cxs5UB5nnZsdVVTDP9e9gXytp9aOyYpimE3OIyPtxGKGBMbAx27oZ8N5mUbo3ZA== + resolved "https://registry.yarnpkg.com/@polywrap/file-system-plugin-js/-/file-system-plugin-js-0.10.0-pre.10.tgz#93e796d4c25203f05605e7e36446facd6c88902d" + integrity sha512-rqiaHJQ62UoN8VdkoSbpaI5owMrZHhza9ixUS65TCgnoI3aYn3QnMjCfCEkEiwmCeKnB9YH/0S2+6NWQR17XJA== dependencies: "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" @@ -759,66 +709,18 @@ axios "0.21.4" form-data "4.0.0" -"@polywrap/http-resolver-plugin-js@0.10.0-pre.10": +"@polywrap/logger-plugin-js@0.10.0-pre.10": version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/http-resolver-plugin-js/-/http-resolver-plugin-js-0.10.0-pre.10.tgz#7c28e17b7dbe28d7bf7e4b0594eb198a8a075080" - integrity sha512-mOm++DNoShuLKjgA3VLNdgwtCjmsl1qA726YNexJefucysr9imYLIgVN789uRZiS2/XsP3+Scd374EYG5NmlZA== + resolved "https://registry.yarnpkg.com/@polywrap/logger-plugin-js/-/logger-plugin-js-0.10.0-pre.10.tgz#de4a995c083edc26d72abb7420628b40d81efed2" + integrity sha512-6wBgBvphQRI+LP22+xi1KPcCq4B9dUMB/ZAXOpVTb/X/fOqdNBOS1LTXV+BtCe2KfdqGS6DKIXwGITcMOxIDCg== dependencies: "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" - abort-controller "3.0.0" - -"@polywrap/ipfs-http-client-lite@0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@polywrap/ipfs-http-client-lite/-/ipfs-http-client-lite-0.3.0.tgz#b8caf4b4f39413e591aff4367023a04cb6df83a1" - integrity sha512-BriJXaflESPSml0lfsAtp4Prl6i8FC0RoEQpEoTx74E3LIAdiPhdPb8hKDTyOR77oX829WDp0EKsRpQmcvCArg== - dependencies: - abort-controller "^3.0.0" - async-iterator-to-pull-stream "^1.3.0" - buffer "^5.2.1" - cids "^0.7.1" - explain-error "^1.0.4" - form-data "^2.4.0" - iterable-ndjson "^1.1.0" - node-fetch "^2.6.0" - pull-stream-to-async-iterator "^1.0.2" - querystring "^0.2.0" - -"@polywrap/ipfs-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/ipfs-plugin-js/-/ipfs-plugin-js-0.10.0-pre.7.tgz#bf54e6b26b34fb0b6c6c04935a074f56e5e34bb6" - integrity sha512-3lgRc86WC+uOjstZVX6WIO/Tvza8XaOKGIHIQYFf+NyTEG/TueQvkNaUZo7RbHoDaXrvDUvmNyzeW0O0OQzfUA== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/ipfs-http-client-lite" "0.3.0" - "@polywrap/plugin-js" "0.10.0-pre.7" - abort-controller "3.0.0" - is-ipfs "1.0.3" - multiformats "9.7.0" - -"@polywrap/ipfs-resolver-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/ipfs-resolver-plugin-js/-/ipfs-resolver-plugin-js-0.10.0-pre.7.tgz#e82ebae17eacc542d8f83c183674e82715c5bd9c" - integrity sha512-jI+KqpAq0b8P7nmItUwUJ1JTibMfFUvt5mYuylJj9w3Ua15foTpML60uhOCt1kZ4TeaZoq7C1QcytbWTMsfhUQ== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/ipfs-http-client-lite" "0.3.0" - "@polywrap/plugin-js" "0.10.0-pre.7" - abort-controller "3.0.0" - is-ipfs "1.0.3" -"@polywrap/logger-plugin-js@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@polywrap/logger-plugin-js/-/logger-plugin-js-0.10.0.tgz#9fc10532e86642d7e8eb3fc7a34494cb077610bd" - integrity sha512-Pb+VcXhSGq2ks2bcPPARSLYksRzcadnBsCzf+tv5B3fisZjD+dEEdI8Apj7ol+186njhNVKzoeR5UYdtINUE0g== - dependencies: - "@polywrap/core-js" "0.10.0-pre.5" - "@polywrap/plugin-js" "0.10.0-pre.5" - -"@polywrap/logging-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/logging-js/-/logging-js-0.10.0-pre.10.tgz#e021933bb2f91e344b49a65888584519611fa98a" - integrity sha512-cop0/g9jvwac4zlSR3fzBOEZRCGGex4X3Jdh2KxO0lwyup0xsTjCnj1SmXVzrSLH2grjyf9mJBrkNCgYGsKyGA== +"@polywrap/logging-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/logging-js/-/logging-js-0.10.0-pre.12.tgz#6bba049b0696b12659708fe6ea0e4148f231bce8" + integrity sha512-xEwSMpUAFM4uurkSTRNPyVVVfPBARN9jgunA59zCUP/b/l3RwPxaVRGdauXkKMLB8tY25sK3h6hJlYDT+uE04g== "@polywrap/msgpack-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -827,10 +729,10 @@ dependencies: "@msgpack/msgpack" "2.7.2" -"@polywrap/msgpack-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.10.0-pre.5.tgz#c7295e2f5b299654462426afd05a02737de839c6" - integrity sha512-R0NCooOY3d4JPVz7CP6rCmOTraQe6us+b9i213z+Dgu9y8lIEZGEmX+ipCULGvAbcDrSxWHBc8ImtkX0oNv+2g== +"@polywrap/msgpack-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.10.0-pre.12.tgz#45bb73394a8858487871dd7e6b725011164f7826" + integrity sha512-kzDMFls4V814CG9FJTlwkcEHV/0eApMmluB8rnVs8K2cHZDDaxXnFCcrLscZwvB4qUy+u0zKfa5JB+eRP3abBg== dependencies: "@msgpack/msgpack" "2.7.2" @@ -841,10 +743,10 @@ dependencies: "@msgpack/msgpack" "2.7.2" -"@polywrap/os-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/os-js/-/os-js-0.10.0-pre.10.tgz#d393141012d46e2dfd6ca33c02afedc63501f4ac" - integrity sha512-tB/2xHTjoEwQottkbOUB7UCtdRb1QhbUQfXrCxwhRBcnNOdsFqcKUh4xLrhZB8j+V/xyf1KwW0ciPwxjqfmHwA== +"@polywrap/os-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/os-js/-/os-js-0.10.0-pre.12.tgz#ea5bc2a3d0aae834449536d8236066ab653889a8" + integrity sha512-JMDjgfwr/BSRK88kxHhesc19cxoHl/dQlnUT20nP5hl7kz5vN+k3HAAxG/Ins5ziVNxtVvKXcTeH6Ze+SdsMEQ== "@polywrap/plugin-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -857,16 +759,16 @@ "@polywrap/tracing-js" "0.10.0-pre.10" "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" -"@polywrap/plugin-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.5.tgz#5bd416cb7f52f001144222e5bc83d1e94ff23cb4" - integrity sha512-WQXJs0AOQKr+mZ4jNFECiOTpjrZCdJnKkwa5QcgyTh8Ni7qgDbDfpVbR0SsiuqdJjqFbc8aSivGnubZcg/resg== +"@polywrap/plugin-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.12.tgz#71675e66944167d4d9bb0684a9fc41fee0abd62c" + integrity sha512-GZ/l07wVPYiRsHJkfLarX8kpnA9PBjcKwLqS+v/YbTtA1d400BHC8vAu9Fq4WSF78VHZEPQQZbWoLBnoM7fIeA== dependencies: - "@polywrap/core-js" "0.10.0-pre.5" - "@polywrap/msgpack-js" "0.10.0-pre.5" - "@polywrap/result" "0.10.0-pre.5" - "@polywrap/tracing-js" "0.10.0-pre.5" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.5" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" "@polywrap/plugin-js@0.10.0-pre.7": version "0.10.0-pre.7" @@ -879,18 +781,18 @@ "@polywrap/tracing-js" "0.10.0-pre.7" "@polywrap/wrap-manifest-types-js" "0.10.0-pre.7" -"@polywrap/polywrap-manifest-schemas@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-schemas/-/polywrap-manifest-schemas-0.10.0-pre.10.tgz#9c1a68cde7cab7891eefd0af9aec9f3a5b4ee2cf" - integrity sha512-OLTM9JnAcibD6gbKfnrjGXoG9tJVx4ZJ5rQq3Pk87buibiVrjCvZRaY+bZjd0NwaoxZZqlgPBqK7oErISG0hlQ== +"@polywrap/polywrap-manifest-schemas@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-schemas/-/polywrap-manifest-schemas-0.10.0-pre.12.tgz#e1f7b5bb80bb26d403c81140ed188c97d9249d6b" + integrity sha512-E0xnXryGP3K4JVrNezfoB173NgboUkxzV5hJvqNgUXjhk4yLZqRi16kZSuW8rJ3Jp1qKN290C9jHutluhTQj9g== -"@polywrap/polywrap-manifest-types-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-types-js/-/polywrap-manifest-types-js-0.10.0-pre.10.tgz#f6638afe603e43983fa50fa7b477325dd52e79d4" - integrity sha512-bDuvi5Mr6IwYJHLLWXgccyEAcb9l9kI2cUE1Tr4/r0PLL/hMi771UcZpS+wxt3hIBK7WGrkneKwWGuwgfmv3DA== +"@polywrap/polywrap-manifest-types-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-types-js/-/polywrap-manifest-types-js-0.10.0-pre.12.tgz#b593b66c83a2e799596270c3221aae69e9375b08" + integrity sha512-5sQF6RaGcQuQkDQTFIrKKt6fxjEmm/+rHkQXBHX7Z4g2wSRyJIoxXiJKzxcyMUl12gQFaWdIY5RxzApwZ0LeOA== dependencies: - "@polywrap/logging-js" "0.10.0-pre.10" - "@polywrap/polywrap-manifest-schemas" "0.10.0-pre.10" + "@polywrap/logging-js" "0.10.0-pre.12" + "@polywrap/polywrap-manifest-schemas" "0.10.0-pre.12" jsonschema "1.4.0" semver "7.3.8" yaml "2.1.3" @@ -900,56 +802,45 @@ resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.10.tgz#6e88ac447d92d8a10c7e7892a6371af29a072240" integrity sha512-SqNnEbXky4dFXgps2B2juFShq1024do0f1HLUbuj3MlIPp5aW9g9sfBslsy3YTnpg2QW7LFVT15crrJMgbowIQ== -"@polywrap/result@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.5.tgz#b703878cf7426dee0edc1a2649f79a06153b403e" - integrity sha512-5ATKBdqSS/qmSfJDrQBBq4d34b3Al381bJWJ8nWlcyt8ybo2CqHwQuv/dD02elmhS2G3EK/p/sZCbD1st8CZYw== +"@polywrap/result@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.12.tgz#530f8f5ced2bef189466f9fb8b41a520b12e9372" + integrity sha512-KnGRJMBy1SCJt3mymO3ob0e1asqYOyY+NNKySQ5ocvG/iMlhtODs4dy2EeEtcIFZ+c7TyBPVD4SI863qHQGOUQ== "@polywrap/result@0.10.0-pre.7": version "0.10.0-pre.7" resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.7.tgz#0805b8c78f505eb4ade9c79c638f559b89ce7750" integrity sha512-yxY8urJ+8sCwwdjMhZalt/5xzsGkBxbrPRIRJOQc85Qk2RRcm1khpmrFggCE2OY93gUueRXKH94Gd2biCjd+bg== -"@polywrap/schema-bind@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/schema-bind/-/schema-bind-0.10.0-pre.10.tgz#835abe26fcf1f16956304187e794173e0ff6efcc" - integrity sha512-GA9jTVXSGGWozLG+OwMP8yPZDNN179+PFMvlMXpXei3C4l7UT4wVh1J79FPCGF61VDn05QkhMZ/ykMvpvx7iPw== +"@polywrap/schema-bind@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/schema-bind/-/schema-bind-0.10.0-pre.12.tgz#a2922446aa0e65c92604b98f3f378470350fa49b" + integrity sha512-f/v9PIytnNPDpgAHepnjVkX+zD1Wz45G3JW6T84KXIiBrwdeAB15XnC2UXNGk553tD6toiXMUoN8BVNT61Oq0Q== dependencies: - "@polywrap/os-js" "0.10.0-pre.10" - "@polywrap/schema-parse" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/os-js" "0.10.0-pre.12" + "@polywrap/schema-parse" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" mustache "4.0.1" -"@polywrap/schema-compose@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/schema-compose/-/schema-compose-0.10.0-pre.10.tgz#9ab5679aa52d16dd9c7f57ef8a4c8fa7185f5322" - integrity sha512-wFHjGm2UNiBmLtQHsfnimlUDlKSO6JzevAyaOod2Q3iHcNj1qARXZj81SqyMr9/E4wPYEBQTib/Z6YLD2eo/0Q== +"@polywrap/schema-compose@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/schema-compose/-/schema-compose-0.10.0-pre.12.tgz#68c8de890ae84912fe7477573286019a9a864ad3" + integrity sha512-Pg/1pGMF+W2fq+zAl29pMey2rdKSWa3p9Co29WSeteWhmMZqj0aTn7eRa0dg5sJu5Rm/5yFkmnr1aZZpBx5odw== dependencies: - "@polywrap/schema-parse" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/schema-parse" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" graphql "15.5.0" mustache "4.0.1" -"@polywrap/schema-parse@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/schema-parse/-/schema-parse-0.10.0-pre.10.tgz#f61af6eba6272ee6c589db0b6f568bf08926ba8b" - integrity sha512-133Fl2tNOPnJN2KP/xgChs55IV43GQGrjaiiQxG2qkTb5+8hbkMGH1xKl4SXerdWqLOT2zczGZdLZzhNQhQ7lg== +"@polywrap/schema-parse@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/schema-parse/-/schema-parse-0.10.0-pre.12.tgz#1ac89ef0b81539830ba2e934d781cdc00b1cc815" + integrity sha512-KDh7iiMYcmzjDahHDLSohsdF0We/T2KCprU85Bj67OOlO3e1ZiYgnuybaz9NZdXAsY/9WkpeYwsm96lALeg1pA== dependencies: "@dorgjelli/graphql-schema-cycles" "1.1.4" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" graphql "15.5.0" -"@polywrap/test-env-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/test-env-js/-/test-env-js-0.10.0-pre.10.tgz#5201f2c0a25cdbadc5aa5c750e557dc323315e6d" - integrity sha512-7RnCFpA25HUAUGl/lK5mgYTnH8ThsXMoraMHFWcgweqJvdWfpLtpHUf3aqu2/JQru2VfU/hL712yb8lZFgYkdw== - dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/polywrap-manifest-types-js" "0.10.0-pre.10" - axios "0.21.2" - spawn-command "0.0.2-1" - yaml "2.1.3" - "@polywrap/tracing-js@0.10.0-pre.10": version "0.10.0-pre.10" resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.10.tgz#f50fb01883dcba4217a1711718aa53f3dd61cb1c" @@ -962,10 +853,10 @@ "@opentelemetry/sdk-trace-base" "1.6.0" "@opentelemetry/sdk-trace-web" "1.6.0" -"@polywrap/tracing-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.5.tgz#3408c469c64a1f4e6f059f40d04c6b6e6328e76f" - integrity sha512-7sUl3K1rCuCxr6LJ2mucf4KcvUgpNbyhiv7Q68BOFEzFgJCpai6IGi4domgYvz/MPsanqVhkMwdf5D1iuK6PwQ== +"@polywrap/tracing-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.12.tgz#61052f06ca23cd73e5de2a58a874b269fcc84be0" + integrity sha512-RUKEQxwHbrcMzQIV8IiRvnEfEfvsgO8/YI9/SqLjkV8V0QUj7UWjuIP7VfQ/ctJJAkm3sZqzeoE+BN+SYAeZSw== dependencies: "@fetsorn/opentelemetry-console-exporter" "0.0.3" "@opentelemetry/api" "1.2.0" @@ -986,37 +877,37 @@ "@opentelemetry/sdk-trace-base" "1.6.0" "@opentelemetry/sdk-trace-web" "1.6.0" -"@polywrap/uri-resolver-extensions-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/uri-resolver-extensions-js/-/uri-resolver-extensions-js-0.10.0-pre.10.tgz#650041d7ceb72375aa132fb4e2f9a3bdebcdb450" - integrity sha512-vQU1BnPJ/E/QJrzKJbfdAYsNHkSNJ6jPrQ6ax033PtfBHef9RCKpj5trIS2VxJzpPC5KFgBCrhVb0LwDhEGp8A== - dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wasm-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" - -"@polywrap/uri-resolvers-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/uri-resolvers-js/-/uri-resolvers-js-0.10.0-pre.10.tgz#bb4112ffb18aa6828ab730e60710d507b2f5f4ad" - integrity sha512-kgoM2zlBSsH/NDY+0Rn/WLyV17Pe2LNMjhxmHPcFVQJ5rkbhDWv9tIb1CE7D220bj/EUaaFseYkUVep1j7bIoQ== - dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" - -"@polywrap/wasm-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/wasm-js/-/wasm-js-0.10.0-pre.10.tgz#26c4d6df940bc02215e46e177d800fcfdb3cb5e3" - integrity sha512-0I8v8ZwojA6Sy0wZA2ZxTCwTx65eIcrn83KFvfNsMCdBmj8wBgTlzE+VlJfR+Qt9T3gUukN89N5l1nxNJBF0+w== - dependencies: - "@polywrap/asyncify-js" "0.10.0-pre.10" - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/msgpack-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/tracing-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" +"@polywrap/uri-resolver-extensions-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/uri-resolver-extensions-js/-/uri-resolver-extensions-js-0.10.0-pre.12.tgz#a96764685ba9323f715839353bc66c1b9f2f406c" + integrity sha512-CywvCeNj7eVW6JV9YiWxkwl7hMLpXkdfMF7/MKeYFHJ/RK1ALHJAAGuHGJTwBiN6FuRVBXD2LA4YW7U/oS5wiQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wasm-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/uri-resolvers-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/uri-resolvers-js/-/uri-resolvers-js-0.10.0-pre.12.tgz#86543e4d672f5406fd93e9e23a43d6006f4d3973" + integrity sha512-9Fj4gFNUSP/3GgQhb+W5zLuBJrQYkvxKdEsLdQqZwvANuz3p420QtwYLxZ3Vr3pGRbm18bzd1dP0dDAQpUXrYQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/wasm-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/wasm-js/-/wasm-js-0.10.0-pre.12.tgz#70b64a500b0353523ba54ef91065df11a295b51c" + integrity sha512-5dx2TR18WE2nIALUljHZAyZ0pXbHihPwKPiHmQUX7f1JvlUlkwWdTr5pMB0zCWxMIVPOISTw4C9l/zhgrJ3eeg== + dependencies: + "@polywrap/asyncify-js" "0.10.0-pre.12" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" "@polywrap/wrap-manifest-types-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -1027,14 +918,14 @@ jsonschema "1.4.0" semver "7.3.8" -"@polywrap/wrap-manifest-types-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.10.0-pre.5.tgz#bf37741becd9856458400f4f972f8c4a4fc1ac5e" - integrity sha512-7IbPpt76PXjhBkd8SPJARw4P9bpekb44YdrnsKXTeT5d8JQ5OgY4syiMVsmTraMdmHJxkJTZ/raqSZHLAxWLiw== +"@polywrap/wrap-manifest-types-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.10.0-pre.12.tgz#a8498b71f89ba9d8b90972faa7bfddffd5dd52c1" + integrity sha512-Bc3yAm5vHOKBwS8rkbKPNwa2puV5Oa6jws6EP6uPpr2Y/Iv4zyEBmzMWZuO1eWi2x7DM5M9cbfRbDfT6oR/Lhw== dependencies: - json-schema-ref-parser "9.0.9" + "@apidevtools/json-schema-ref-parser" "9.0.9" jsonschema "1.4.0" - semver "7.3.5" + semver "7.3.8" "@polywrap/wrap-manifest-types-js@0.10.0-pre.7": version "0.10.0-pre.7" @@ -1067,7 +958,7 @@ resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== -abort-controller@3.0.0, abort-controller@^3.0.0: +abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== @@ -1112,14 +1003,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -async-iterator-to-pull-stream@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/async-iterator-to-pull-stream/-/async-iterator-to-pull-stream-1.3.0.tgz#3a6b9f3cceadff972ca20eb480e3cb43f8789732" - integrity sha512-NjyhAEz/sx32olqgKIk/2xbWEM6o8qef1yetIgb0U/R3oBgndP1kE/0CslowH3jvnA94BO4I6OXpOkTKH7Z1AA== - dependencies: - get-iterator "^1.0.2" - pull-stream-to-async-iterator "^1.0.1" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1267,7 +1150,7 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== -buffer@^5.2.1, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: +buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -1340,17 +1223,6 @@ cids@^1.0.0: multihashes "^4.0.1" uint8arrays "^3.0.0" -cids@~0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.8.3.tgz#aaf48ac8ed857c3d37dad94d8db1d8c9407b92db" - integrity sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA== - dependencies: - buffer "^5.6.0" - class-is "^1.1.0" - multibase "^1.0.0" - multicodec "^1.0.1" - multihashes "^1.0.1" - class-is@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" @@ -1377,7 +1249,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.6, combined-stream@^1.0.8: +combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -1399,14 +1271,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concurrent-plugin-js@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/concurrent-plugin-js/-/concurrent-plugin-js-0.1.2.tgz#206b9f12723fb99d79a4c03c0f28b427deca6ff4" - integrity sha512-MWpw9uuQtQ/IerG2CtGjFm+UTmDy0D+D7HZh4hW5PYTk4SbcYBVJtK6n7Yk3tg8NE3rcXLnRxLBoW7UbO2o5hw== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/msgpack-js" "0.10.0-pre.7" - content-hash@2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" @@ -1538,51 +1402,6 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -ethereum-provider-js@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/ethereum-provider-js/-/ethereum-provider-js-0.1.7.tgz#a340545c267b7068c9ff697ba5e891c20d6bc5a8" - integrity sha512-x//Mdfhsw3IJPemWufLtZX7JkOFRJ8vVGHkFLjdwDew/EErNq4aV3UfjMylcmeP21WVoOmZzNyljEMtvQFng4w== - dependencies: - "@ethersproject/address" "5.7.0" - "@ethersproject/providers" "5.7.0" - "@polywrap/core-js" "0.10.0-pre.7" - ethers "5.7.0" - -ethers@5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.7.tgz#41c3d774e0a57bfde12b0198885789fb41a14976" - integrity sha512-1Zu9s+z4BgsDAZcGIYACJdWBB6mVtCCmUonj68Njul7STcSdgwOyj0sCAxCUr2Nsmsamckr4E12q3ecvZPGAUw== - dependencies: - "@ethersproject/abi" "^5.0.0" - "@ethersproject/abstract-provider" "^5.0.0" - "@ethersproject/abstract-signer" "^5.0.0" - "@ethersproject/address" "^5.0.0" - "@ethersproject/base64" "^5.0.0" - "@ethersproject/bignumber" "^5.0.0" - "@ethersproject/bytes" "^5.0.0" - "@ethersproject/constants" "^5.0.0" - "@ethersproject/contracts" "^5.0.0" - "@ethersproject/hash" "^5.0.0" - "@ethersproject/hdnode" "^5.0.0" - "@ethersproject/json-wallets" "^5.0.0" - "@ethersproject/keccak256" "^5.0.0" - "@ethersproject/logger" "^5.0.0" - "@ethersproject/networks" "^5.0.0" - "@ethersproject/pbkdf2" "^5.0.0" - "@ethersproject/properties" "^5.0.0" - "@ethersproject/providers" "^5.0.0" - "@ethersproject/random" "^5.0.0" - "@ethersproject/rlp" "^5.0.0" - "@ethersproject/sha2" "^5.0.0" - "@ethersproject/signing-key" "^5.0.0" - "@ethersproject/solidity" "^5.0.0" - "@ethersproject/strings" "^5.0.0" - "@ethersproject/transactions" "^5.0.0" - "@ethersproject/units" "^5.0.0" - "@ethersproject/wallet" "^5.0.0" - "@ethersproject/web" "^5.0.0" - "@ethersproject/wordlists" "^5.0.0" - ethers@5.7.0: version "5.7.0" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.0.tgz#0055da174b9e076b242b8282638bc94e04b39835" @@ -1639,11 +1458,6 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -explain-error@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/explain-error/-/explain-error-1.0.4.tgz#a793d3ac0cad4c6ab571e9968fbbab6cb2532929" - integrity sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ== - extract-zip@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" @@ -1700,15 +1514,6 @@ form-data@4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@^2.4.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -1822,11 +1627,6 @@ graphql-json-transform@^1.1.0-alpha.0: resolved "https://registry.yarnpkg.com/graphql-json-transform/-/graphql-json-transform-1.1.0-alpha.0.tgz#fb0c88d24840067e6c55ac64bbc8d4e5de245d2d" integrity sha512-I6lR/lYEezSz4iru0f7a/wR8Rzi3pCafk7S0bX2b/WQOtK0vKabxLShGBXIslsi0arMehIjvOPHJl7MpOUqj0w== -graphql-tag@2.10.4: - version "2.10.4" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.4.tgz#2f301a98219be8b178a6453bb7e33b79b66d8f83" - integrity sha512-O7vG5BT3w6Sotc26ybcvLKNTdfr4GfsIVMD+LdYqXCeJIYPRyp8BIsDOUtxw7S1PYvRw5vH3278J2EDezR6mfA== - graphql@15.5.0: version "15.5.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" @@ -2114,19 +1914,6 @@ is-ip@^3.1.0: dependencies: ip-regex "^4.0.0" -is-ipfs@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-1.0.3.tgz#4b8c4995c46beac38f0c05f8cecd77093dd6a6b3" - integrity sha512-7SAfhxp39rxMvr95qjHMtsle1xa7zXpIbhX/Q77iXKtMVnQ0Fr9AVpAUq+bl3HPXGXDpZJFP0hzWBZaMwD6vGg== - dependencies: - buffer "^5.6.0" - cids "~0.8.0" - iso-url "~0.4.7" - mafmt "^7.1.0" - multiaddr "^7.4.3" - multibase "~0.7.0" - multihashes "~0.4.19" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -2249,13 +2036,6 @@ it-to-stream@^0.1.2: p-fifo "^1.0.0" readable-stream "^3.6.0" -iterable-ndjson@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz#36f7e8a5bb04fd087d384f29e44fc4280fc014fc" - integrity sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg== - dependencies: - string_decoder "^1.2.0" - js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" @@ -2320,13 +2100,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -mafmt@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-7.1.0.tgz#4126f6d0eded070ace7dbbb6fb04977412d380b5" - integrity sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA== - dependencies: - multiaddr "^7.3.0" - map-age-cleaner@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" @@ -2418,18 +2191,6 @@ multiaddr-to-uri@^6.0.0: dependencies: multiaddr "^8.0.0" -multiaddr@^7.3.0, multiaddr@^7.4.3: - version "7.5.0" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-7.5.0.tgz#976c88e256e512263445ab03b3b68c003d5f485e" - integrity sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw== - dependencies: - buffer "^5.5.0" - cids "~0.8.0" - class-is "^1.1.0" - is-ip "^3.1.0" - multibase "^0.7.0" - varint "^5.0.0" - multiaddr@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-8.1.2.tgz#74060ff8636ba1c01b2cf0ffd53950b852fa9b1f" @@ -2444,7 +2205,7 @@ multiaddr@^8.0.0: uint8arrays "^1.1.0" varint "^5.0.0" -multibase@^0.7.0, multibase@~0.7.0: +multibase@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== @@ -2452,14 +2213,6 @@ multibase@^0.7.0, multibase@~0.7.0: base-x "^3.0.8" buffer "^5.5.0" -multibase@^1.0.0, multibase@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-1.0.1.tgz#4adbe1de0be8a1ab0274328b653c3f1903476724" - integrity sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - multibase@^3.0.0, multibase@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/multibase/-/multibase-3.1.2.tgz#59314e1e2c35d018db38e4c20bb79026827f0f2f" @@ -2490,7 +2243,7 @@ multicodec@^0.5.5: dependencies: varint "^5.0.0" -multicodec@^1.0.0, multicodec@^1.0.1: +multicodec@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== @@ -2514,17 +2267,12 @@ multicodec@^3.0.1: uint8arrays "^3.0.0" varint "^6.0.0" -multiformats@9.7.0: - version "9.7.0" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.7.0.tgz#845799e8df70fbb6b15922500e45cb87cf12f7e5" - integrity sha512-uv/tcgwk0yN4DStopnBN4GTgvaAlYdy6KnZpuzEPFOYQd71DYFJjs0MN1ERElAflrZaYyGBWXyGxL5GgrxIx0Q== - multiformats@^9.4.2: version "9.9.0" resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== -multihashes@^0.4.15, multihashes@~0.4.15, multihashes@~0.4.19: +multihashes@^0.4.15, multihashes@~0.4.15: version "0.4.21" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== @@ -2533,15 +2281,6 @@ multihashes@^0.4.15, multihashes@~0.4.15, multihashes@~0.4.19: multibase "^0.7.0" varint "^5.0.0" -multihashes@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-1.0.1.tgz#a89415d68283cf6287c6e219e304e75ce7fb73fe" - integrity sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw== - dependencies: - buffer "^5.6.0" - multibase "^1.0.1" - varint "^5.0.0" - multihashes@^3.0.1: version "3.1.2" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-3.1.2.tgz#ffa5e50497aceb7911f7b4a3b6cada9b9730edfc" @@ -2714,33 +2453,31 @@ picomatch@^2.0.4, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -polywrap@0.10.0-pre.10: - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/polywrap/-/polywrap-0.10.0-pre.10.tgz#1c373112d12bdc4c6baaa506593ff14a4b1a323b" - integrity sha512-u0uobZuVkHKSqRqdZeHoFs+FNgI3wDJ4Gl940H6SYJtFZi0Uc0UE85WX5UvqVBQrQ6GLjAGWxi05iQ82JVa18A== +polywrap@0.10.0-pre.12: + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/polywrap/-/polywrap-0.10.0-pre.12.tgz#ad747522fa94584bb7038297b819e08768fa0e75" + integrity sha512-k1VztkFZcOu+6T12gexE2ipOeyFarVRjj61uLNJXJ8k2+fMhgc8aKaWV9RtKlwHGFltBUsYEgaqjXprwMSeVVw== dependencies: "@apidevtools/json-schema-ref-parser" "9.0.9" "@ethersproject/providers" "5.6.8" "@ethersproject/wallet" "5.6.2" "@formatjs/intl" "1.8.2" - "@polywrap/asyncify-js" "0.10.0-pre.10" - "@polywrap/client-config-builder-js" "0.10.0-pre.10" - "@polywrap/client-js" "0.10.0-pre.10" - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/ens-resolver-plugin-js" "0.10.0-pre.10" - "@polywrap/ipfs-plugin-js" "~0.10.0-pre" - "@polywrap/logging-js" "0.10.0-pre.10" - "@polywrap/os-js" "0.10.0-pre.10" - "@polywrap/polywrap-manifest-types-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/schema-bind" "0.10.0-pre.10" - "@polywrap/schema-compose" "0.10.0-pre.10" - "@polywrap/schema-parse" "0.10.0-pre.10" - "@polywrap/test-env-js" "0.10.0-pre.10" - "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wasm-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/asyncify-js" "0.10.0-pre.12" + "@polywrap/client-config-builder-js" "0.10.0-pre.12" + "@polywrap/client-js" "0.10.0-pre.12" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/ethereum-provider-js" "~0.2.3" + "@polywrap/logging-js" "0.10.0-pre.12" + "@polywrap/os-js" "0.10.0-pre.12" + "@polywrap/polywrap-manifest-types-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/schema-bind" "0.10.0-pre.12" + "@polywrap/schema-compose" "0.10.0-pre.12" + "@polywrap/schema-parse" "0.10.0-pre.12" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wasm-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" axios "0.21.2" chalk "4.1.0" chokidar "3.5.1" @@ -2748,7 +2485,6 @@ polywrap@0.10.0-pre.10: content-hash "2.5.2" copyfiles "2.4.1" docker-compose "0.23.17" - ethereum-provider-js "0.1.7" extract-zip "2.0.1" form-data "4.0.0" fs-extra "9.0.1" @@ -2784,18 +2520,6 @@ protons@^2.0.0: uint8arrays "^3.0.0" varint "^5.0.0" -pull-stream-to-async-iterator@^1.0.1, pull-stream-to-async-iterator@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pull-stream-to-async-iterator/-/pull-stream-to-async-iterator-1.0.2.tgz#5cc1a3a146ef6bbf01c17755647369b683b24986" - integrity sha512-c3KRs2EneuxP7b6pG9fvQTIjatf33RbIErhbQ75s5r2MI6E8R74NZC1nJgXc8kcmqiQxmr+TWY+WwK2mWaUnlA== - dependencies: - pull-stream "^3.6.9" - -pull-stream@^3.6.9: - version "3.6.14" - resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.6.14.tgz#529dbd5b86131f4a5ed636fdf7f6af00781357ee" - integrity sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew== - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -2804,11 +2528,6 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" @@ -2947,11 +2666,6 @@ signed-varint@^2.0.1: dependencies: varint "~5.0.0" -spawn-command@0.0.2-1: - version "0.0.2-1" - resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" - integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg== - stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -2973,7 +2687,7 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string_decoder@^1.1.1, string_decoder@^1.2.0: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== From 801621da6d229df8634024a36639206a0553a6f2 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Tue, 14 Mar 2023 03:02:42 -0400 Subject: [PATCH 08/25] feat: update ethereum wrapper to provider v 2.0.0 --- wrapper/package.json | 10 +- wrapper/polywrap.yaml | 3 + wrapper/src/lib.rs | 2 +- wrapper/src/polywrap_provider/iprovider.rs | 11 - wrapper/src/polywrap_provider/mod.rs | 1 - wrapper/src/polywrap_provider/provider.rs | 19 +- wrapper/src/polywrap_provider/signer.rs | 38 +- wrapper/src/schema.graphql | 3 +- wrapper/yarn.lock | 837 +++++++-------------- 9 files changed, 303 insertions(+), 621 deletions(-) delete mode 100644 wrapper/src/polywrap_provider/iprovider.rs diff --git a/wrapper/package.json b/wrapper/package.json index e63012d..c8adf49 100644 --- a/wrapper/package.json +++ b/wrapper/package.json @@ -14,17 +14,17 @@ "deploy": "npx polywrap deploy -o deployment.json" }, "devDependencies": { - "@polywrap/ethereum-provider-js": "0.2.2", - "@polywrap/client-js": "0.10.0-pre.10", - "@polywrap/core-js": "0.10.0-pre.10", - "@polywrap/test-env-js": "0.10.0-pre.10", + "@polywrap/ethereum-provider-js": "../provider/implementations/js", + "@polywrap/client-js": "0.10.0-pre.12", + "@polywrap/core-js": "0.10.0-pre.12", + "@polywrap/cli-js": "0.10.0-pre.12", "@types/jest": "27.0.3", "axios": "0.27.2", "eth-ens-namehash": "2.0.8", "ethers": "5.7.2", "jest": "26.6.3", "js-sha3": "0.8.0", - "polywrap": "0.10.0-pre.10", + "polywrap": "0.10.0-pre.12", "rimraf": "3.0.2", "ts-jest": "26.5.4", "ts-node": "10.9.1", diff --git a/wrapper/polywrap.yaml b/wrapper/polywrap.yaml index a861fa5..bf1ea15 100644 --- a/wrapper/polywrap.yaml +++ b/wrapper/polywrap.yaml @@ -5,3 +5,6 @@ project: source: module: ./Cargo.toml schema: ./src/schema.graphql + import_abis: + - uri: "wrap://ens/wraps.eth:ethereum-provider@2.0.0" + abi: ../provider/interface/src/schema.graphql diff --git a/wrapper/src/lib.rs b/wrapper/src/lib.rs index 4070151..9de2256 100644 --- a/wrapper/src/lib.rs +++ b/wrapper/src/lib.rs @@ -12,7 +12,7 @@ use crate::signer::PolywrapSigner; mod api; mod polywrap_provider; mod helpers; -use polywrap_provider::{iprovider, provider, signer, error, sync_provider::SyncProvider}; +use polywrap_provider::{provider, signer, error, sync_provider::SyncProvider}; use helpers::{format, mapping}; use crate::polywrap_provider::sync_signer::SyncSigner; diff --git a/wrapper/src/polywrap_provider/iprovider.rs b/wrapper/src/polywrap_provider/iprovider.rs deleted file mode 100644 index c8eabef..0000000 --- a/wrapper/src/polywrap_provider/iprovider.rs +++ /dev/null @@ -1,11 +0,0 @@ -use crate::wrap::{IProvider, IProviderModule}; - -pub fn get_iprovider() -> IProviderModule { - let impls = IProvider::get_implementations(); - if impls.len() < 1 { - panic!("The Ethereum wrapper requires a registered implementation of the EthereumProvider interface. \ - You can register an interface implementation in your Polywrap Client configuration."); - } - let iprovider = IProviderModule::new(impls[0].clone()); - iprovider -} \ No newline at end of file diff --git a/wrapper/src/polywrap_provider/mod.rs b/wrapper/src/polywrap_provider/mod.rs index 49c0a97..f146838 100644 --- a/wrapper/src/polywrap_provider/mod.rs +++ b/wrapper/src/polywrap_provider/mod.rs @@ -1,5 +1,4 @@ pub mod error; -pub mod iprovider; pub mod provider; pub mod signer; pub mod sync_provider; diff --git a/wrapper/src/polywrap_provider/provider.rs b/wrapper/src/polywrap_provider/provider.rs index 2187166..a53a440 100644 --- a/wrapper/src/polywrap_provider/provider.rs +++ b/wrapper/src/polywrap_provider/provider.rs @@ -2,8 +2,7 @@ use std::fmt::Debug; use ethers_providers::{ProviderError}; use crate::wrap::imported::{ArgsRequest, ArgsWaitForTransaction}; -use crate::wrap::{IProviderModule, IProviderConnection, Connection}; -use crate::iprovider::get_iprovider; +use crate::wrap::{ProviderModule, ProviderConnection, Connection}; use serde::{de::DeserializeOwned, Serialize}; use thiserror::Error; @@ -33,19 +32,17 @@ impl From for ProviderError { #[derive(Debug)] pub struct PolywrapProvider { - pub(super) connection: Option, - pub(super) iprovider: IProviderModule, + pub(super) connection: Option, } impl PolywrapProvider { pub fn new(connection: &Option) -> Self { - let iprovider_connection = connection.as_ref().map(|conn| IProviderConnection { + let iprovider_connection = connection.as_ref().map(|conn| ProviderConnection { network_name_or_chain_id: conn.network_name_or_chain_id.clone(), node: conn.node.clone(), }); Self { connection: iprovider_connection, - iprovider: get_iprovider(), } } @@ -54,14 +51,14 @@ impl PolywrapProvider { method: &str, params: T, ) -> Result { - let params_s = serde_json::to_string(¶ms).unwrap(); - let res = self.iprovider.request(&ArgsRequest { + let params_v = serde_json::to_value(¶ms).unwrap(); + let res = ProviderModule::request(&ArgsRequest { method: method.to_string(), - params: Some(params_s), + params: Some(params_v), connection: self.connection.clone(), }) .map_err(|err| ClientError::Error(err))?; - let res = serde_json::from_str(&res).map_err(|err| ClientError::SerdeJson { + let res = serde_json::from_value(res).map_err(|err| ClientError::SerdeJson { err, text: "from str failed".to_string(), })?; @@ -76,7 +73,7 @@ impl PolywrapProvider { ) -> Result { let hash = transaction_hash.into(); - let res = self.iprovider.wait_for_transaction(&ArgsWaitForTransaction { + let res = ProviderModule::wait_for_transaction(&ArgsWaitForTransaction { tx_hash: format!("{:#x}", hash), confirmations, timeout, diff --git a/wrapper/src/polywrap_provider/signer.rs b/wrapper/src/polywrap_provider/signer.rs index f0bdd6f..cb5a968 100644 --- a/wrapper/src/polywrap_provider/signer.rs +++ b/wrapper/src/polywrap_provider/signer.rs @@ -1,6 +1,5 @@ -use crate::wrap::imported::{ArgsAddress, ArgsChainId, ArgsSignMessage, ArgsSignTransaction}; -use crate::wrap::{IProviderModule, IProviderConnection, Connection}; -use super::iprovider::get_iprovider; +use crate::wrap::imported::{ArgsSignerAddress, ArgsSignMessage, ArgsSignTransaction, ArgsRequest}; +use crate::wrap::{ProviderModule, ProviderConnection, Connection}; use ethers_core::types::{Address, Signature}; use std::str::FromStr; use thiserror::Error; @@ -12,8 +11,7 @@ pub struct PolywrapSigner { /// The wallet's chain id (for EIP-155) chain_id: u64, /// Ethereum connection to use - connection: Option, - iprovider: IProviderModule, + connection: Option, } #[derive(Error, Debug)] @@ -26,29 +24,41 @@ pub enum SignerError { impl PolywrapSigner { pub fn new(connection: &Option) -> Self { - let iprovider_connection = connection.as_ref().map(|conn| IProviderConnection { + let iprovider_connection = connection.as_ref().map(|conn| ProviderConnection { network_name_or_chain_id: conn.network_name_or_chain_id.clone(), node: conn.node.clone(), }); - let iprovider = get_iprovider(); - let address = iprovider.address(&ArgsAddress { connection: iprovider_connection.clone() }).unwrap(); - let chain_id = iprovider.chain_id(&ArgsChainId { connection: iprovider_connection.clone() }) + let address = ProviderModule::signer_address(&ArgsSignerAddress { + connection: iprovider_connection.clone() + }).unwrap().unwrap(); + let chain_id = ProviderModule::request(&ArgsRequest { + method: "eth_chainId".to_string(), + params: None, + connection: iprovider_connection.clone() + }) .expect("failed to obtain signer chain id from provider plugin"); Self { - address: Address::from_str(&address).unwrap(), - chain_id: u64::from_str(&chain_id).unwrap(), + address: Address::from_str(&address.as_str()).unwrap(), + chain_id: u64::from_str( + serde_json::to_string(&chain_id).unwrap().as_str() + ).unwrap(), connection: iprovider_connection, - iprovider, } } pub(super) fn sign_rlp(&self, rlp: Vec) -> Result { - let signature = self.iprovider.sign_transaction(&ArgsSignTransaction { rlp, connection: self.connection.clone(), })?; + let signature = ProviderModule::sign_transaction(&ArgsSignTransaction { + rlp, + connection: self.connection.clone() + })?; Ok(Signature::from_str(&signature).unwrap()) } pub(super) fn sign_bytes(&self, message: Vec) -> Result { - let signature = self.iprovider.sign_message(&ArgsSignMessage { message, connection: self.connection.clone(), })?; + let signature = ProviderModule::sign_message(&ArgsSignMessage { + message, + connection: self.connection.clone() + })?; Ok(Signature::from_str(&signature).unwrap()) } diff --git a/wrapper/src/schema.graphql b/wrapper/src/schema.graphql index ed57717..f0312ba 100644 --- a/wrapper/src/schema.graphql +++ b/wrapper/src/schema.graphql @@ -1,5 +1,4 @@ -#import { Module } into IProvider from "wrap://ens/wraps.eth:ethereum-provider@1.1.0" -#use { getImplementations } for IProvider +#import { Module } into Provider from "wrap://ens/wraps.eth:ethereum-provider@2.0.0" type Connection { node: String diff --git a/wrapper/yarn.lock b/wrapper/yarn.lock index 3b4fa80..a47195e 100644 --- a/wrapper/yarn.lock +++ b/wrapper/yarn.lock @@ -318,7 +318,7 @@ graphql "15.5.0" graphql-json-transform "^1.1.0-alpha.0" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -333,7 +333,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.0.0", "@ethersproject/abstract-provider@^5.6.1", "@ethersproject/abstract-provider@^5.7.0": +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.6.1", "@ethersproject/abstract-provider@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== @@ -346,7 +346,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.0.0", "@ethersproject/abstract-signer@^5.6.2", "@ethersproject/abstract-signer@^5.7.0": +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.6.2", "@ethersproject/abstract-signer@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== @@ -357,18 +357,7 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.7.tgz#ee7fd7d3b3a400dec6035c7b3f0b7e4652207308" - integrity sha512-+63DiYG+2og6rFNvQmLlLw8i5LtyT65n+jtHd06Ic81rLHc+JUKRpeZFhBa+gqh9f+P8V0xtKR5NI/EHXOfgSw== - dependencies: - "@ethersproject/bignumber" "^5.0.10" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/keccak256" "^5.0.3" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/rlp" "^5.0.3" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.0", "@ethersproject/address@^5.6.1", "@ethersproject/address@^5.7.0": +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.6.1", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -379,21 +368,13 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/rlp" "^5.7.0" -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.0.0", "@ethersproject/base64@^5.6.1", "@ethersproject/base64@^5.7.0": +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.6.1", "@ethersproject/base64@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== dependencies: "@ethersproject/bytes" "^5.7.0" -"@ethersproject/basex@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.0.7.tgz#2f7026b12c9dee6cdc7b7bf1805461836e635495" - integrity sha512-OsXnRsujGmYD9LYyJlX+cVe5KfwgLUbUJrJMWdzRWogrygXd5HvGd7ygX1AYjlu1z8W/+t2FoQnczDR/H2iBjA== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.6.1", "@ethersproject/basex@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" @@ -402,7 +383,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.0.0", "@ethersproject/bignumber@^5.0.10", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -411,21 +392,21 @@ "@ethersproject/logger" "^5.7.0" bn.js "^5.2.1" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.0.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.0.9", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.0.0", "@ethersproject/constants@^5.6.1", "@ethersproject/constants@^5.7.0": +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.6.1", "@ethersproject/constants@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== dependencies: "@ethersproject/bignumber" "^5.7.0" -"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.0.0": +"@ethersproject/contracts@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== @@ -441,7 +422,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/transactions" "^5.7.0" -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.0.0", "@ethersproject/hash@^5.6.1", "@ethersproject/hash@^5.7.0": +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.6.1", "@ethersproject/hash@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== @@ -456,7 +437,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.0.0", "@ethersproject/hdnode@^5.6.2", "@ethersproject/hdnode@^5.7.0": +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.6.2", "@ethersproject/hdnode@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== @@ -474,7 +455,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.0.0", "@ethersproject/json-wallets@^5.6.1", "@ethersproject/json-wallets@^5.7.0": +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.6.1", "@ethersproject/json-wallets@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== @@ -493,7 +474,7 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.0.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== @@ -501,7 +482,7 @@ "@ethersproject/bytes" "^5.7.0" js-sha3 "0.8.0" -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.0.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== @@ -513,14 +494,14 @@ dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.6.3", "@ethersproject/networks@^5.7.0": +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.6.3", "@ethersproject/networks@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.0.0", "@ethersproject/pbkdf2@^5.7.0": +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== @@ -528,7 +509,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/sha2" "^5.7.0" -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.0.0", "@ethersproject/properties@^5.0.7", "@ethersproject/properties@^5.6.0", "@ethersproject/properties@^5.7.0": +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.6.0", "@ethersproject/properties@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== @@ -587,7 +568,7 @@ bech32 "1.1.4" ws "7.4.6" -"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.0.0": +"@ethersproject/providers@5.7.2": version "5.7.2" resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== @@ -613,7 +594,7 @@ bech32 "1.1.4" ws "7.4.6" -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.0.0", "@ethersproject/random@^5.6.1", "@ethersproject/random@^5.7.0": +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.6.1", "@ethersproject/random@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== @@ -621,7 +602,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.0.0", "@ethersproject/rlp@^5.0.3", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== @@ -629,7 +610,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.0.0", "@ethersproject/sha2@^5.6.1", "@ethersproject/sha2@^5.7.0": +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.6.1", "@ethersproject/sha2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== @@ -638,7 +619,7 @@ "@ethersproject/logger" "^5.7.0" hash.js "1.1.7" -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.0.0", "@ethersproject/signing-key@^5.6.2", "@ethersproject/signing-key@^5.7.0": +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.6.2", "@ethersproject/signing-key@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== @@ -650,7 +631,7 @@ elliptic "6.5.4" hash.js "1.1.7" -"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.0.0": +"@ethersproject/solidity@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== @@ -662,7 +643,7 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.0.0", "@ethersproject/strings@^5.6.1", "@ethersproject/strings@^5.7.0": +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.6.1", "@ethersproject/strings@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== @@ -671,7 +652,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.0.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -686,7 +667,7 @@ "@ethersproject/rlp" "^5.7.0" "@ethersproject/signing-key" "^5.7.0" -"@ethersproject/units@5.7.0", "@ethersproject/units@^5.0.0": +"@ethersproject/units@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== @@ -716,7 +697,7 @@ "@ethersproject/transactions" "^5.6.2" "@ethersproject/wordlists" "^5.6.1" -"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.0.0": +"@ethersproject/wallet@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== @@ -748,7 +729,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.0.0", "@ethersproject/web@^5.6.1", "@ethersproject/web@^5.7.0": +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.6.1", "@ethersproject/web@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== @@ -759,7 +740,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.0.0", "@ethersproject/wordlists@^5.6.1", "@ethersproject/wordlists@^5.7.0": +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.6.1", "@ethersproject/wordlists@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== @@ -1092,9 +1073,9 @@ integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g== "@opentelemetry/api@^1.0.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.0.tgz#2c91791a9ba6ca0a0f4aaac5e45d58df13639ac8" - integrity sha512-IgMK9i3sFGNUqPMbjABm0G26g0QCKCUBfglhQ7rQq6WcxbKfEHRcmwsoER4hZcuYqJgkYn2OeuoJIv7Jsftp7g== + version "1.4.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f" + integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA== "@opentelemetry/core@1.6.0": version "1.6.0" @@ -1173,58 +1154,71 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz#ed410c9eb0070491cff9fe914246ce41f88d6f74" integrity sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ== -"@polywrap/asyncify-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/asyncify-js/-/asyncify-js-0.10.0-pre.10.tgz#ecc21ce37e468c6da8c43fdb35e2cad4fe6d63cb" - integrity sha512-KurmLTRvhzFCfJkIgsj/eYCxacAsIwIwu8XRqjpjvL47BPNBYuqflaJgFwrRrPpq16TPSNBDFGRm6RMlATXFDA== +"@polywrap/asyncify-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/asyncify-js/-/asyncify-js-0.10.0-pre.12.tgz#3f112cf3f0d24479462c414dc8b0fe43accaf572" + integrity sha512-cXESk3caOtuz/VS3vQ/yLXHraNaSkZuw4JFtdpy8C7AKaEvBwS5Pu44SaLD7KY/jeJJfhVUWjdXs0WHMfK17yQ== -"@polywrap/client-config-builder-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/client-config-builder-js/-/client-config-builder-js-0.10.0-pre.10.tgz#6b49bad4e4f07b3b9ae6c87a173c1a3c2d9288f1" - integrity sha512-HM8LGHZC4QXUOTKWai/Kx0SgsIT4unaSTEtE4hf+rm+5qaZw2abNAqK20HaRpx09lBLcwQk8w89VR/O+TKfpSg== +"@polywrap/cli-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/cli-js/-/cli-js-0.10.0-pre.12.tgz#fc7226eef13285e3e531df3ff44dfb02e18256e8" + integrity sha512-QmWYtt7vyRmb6K+l6zCEj5r3uejlayHsF3WHjq9938mm2hfNa0S9nPXywcLZqDAWrUtJi/CO9MwuR0KCVfVcDw== dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/ens-resolver-plugin-js" "0.10.0-pre.10" - "@polywrap/fs-plugin-js" "~0.10.0-pre" - "@polywrap/fs-resolver-plugin-js" "0.10.0-pre.10" + polywrap "0.10.0-pre.12" + spawn-command "0.0.2-1" + +"@polywrap/client-config-builder-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/client-config-builder-js/-/client-config-builder-js-0.10.0-pre.12.tgz#75d1f3e4bd5e2ff2486014a65ff609e7e5b617ed" + integrity sha512-S9fJ5oVIFa/fTd0V3+Qw8Ss66HrMH6WOKI+s1whjeqL7HYKf4Ktt+bgA/MPfRFP7FgyVFF4mzaeHDWFjNZEaTA== + dependencies: + "@polywrap/concurrent-plugin-js" "~0.10.0-pre" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/ethereum-provider-js" "~0.2.3" + "@polywrap/file-system-plugin-js" "~0.10.0-pre" "@polywrap/http-plugin-js" "~0.10.0-pre" - "@polywrap/http-resolver-plugin-js" "0.10.0-pre.10" - "@polywrap/ipfs-plugin-js" "~0.10.0-pre" - "@polywrap/ipfs-resolver-plugin-js" "~0.10.0-pre" - "@polywrap/logger-plugin-js" "0.10.0" - "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wasm-js" "0.10.0-pre.10" + "@polywrap/logger-plugin-js" "0.10.0-pre.10" + "@polywrap/plugin-js" "0.10.0-pre.12" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wasm-js" "0.10.0-pre.12" base64-to-uint8array "1.0.0" - concurrent-plugin-js "0.1.2" - ethereum-provider-js "0.1.7" -"@polywrap/client-js@0.10.0-pre.10": +"@polywrap/client-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/client-js/-/client-js-0.10.0-pre.12.tgz#47361acf821a8c446511ebcde063183eb34b0af1" + integrity sha512-+TzX6ifuBkjOweObwI1cNFEMUDivTs/wZoNiYenD3wnMMdxkf705YQmYfgptiUs+2iub+nmdBAH6wIDgngjYCQ== + dependencies: + "@polywrap/client-config-builder-js" "0.10.0-pre.12" + "@polywrap/core-client-js" "0.10.0-pre.12" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/plugin-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/concurrent-plugin-js@~0.10.0-pre": version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/client-js/-/client-js-0.10.0-pre.10.tgz#c6d3a958f54c079c26a74ed4fa9d3c536cff2e77" - integrity sha512-HX9URxY/CnFtkArej1cgQtuN7h2d7afspUVIaAF1egyhaFsHi8TgEN274sIdNFOnuuYR/Vs8lIgTeHXwp3+n/w== + resolved "https://registry.yarnpkg.com/@polywrap/concurrent-plugin-js/-/concurrent-plugin-js-0.10.0-pre.10.tgz#106e015173cabed5b043cbc2fac00a6ccf58f9a0" + integrity sha512-CZUbEEhplLzXpl1xRsF5aRgZLeu4sJxhXA0GWTMqzmGjhqvMPClOMfqklFPmPuCyq76q068XPpYavHjGKNmN2g== dependencies: - "@polywrap/client-config-builder-js" "0.10.0-pre.10" - "@polywrap/core-client-js" "0.10.0-pre.10" "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/msgpack-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/tracing-js" "0.10.0-pre.10" - "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" -"@polywrap/core-client-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/core-client-js/-/core-client-js-0.10.0-pre.10.tgz#8639b5a3683a2ddcc4cb77ba9a80427d9457391c" - integrity sha512-Zfco21nQkS7AAR+pqTuOJIw0ef2JZUR/mWuCQw9Gn64e/L8kqLWoh62JyxEeuBS1gZ+PWpozHk/Fnuced1/e6w== +"@polywrap/core-client-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/core-client-js/-/core-client-js-0.10.0-pre.12.tgz#561f38b7d6e5304927dbec73a4310bce65317d31" + integrity sha512-zd1vmfOqwtj6CJoSU2n6UaK9666RXiBZggmfA0LYhs6DPUV7Zk2YiwUnC2KrWyoCNevBhEgdgwDs80Z124lmJg== dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/msgpack-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/tracing-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" "@polywrap/core-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -1235,133 +1229,65 @@ "@polywrap/tracing-js" "0.10.0-pre.10" "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" -"@polywrap/core-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.5.tgz#8457f168235faae19342a87aed6ddce44a56fb59" - integrity sha512-E92OGSBN5EdeYMj8wtZq4Hibh5qnAAzfSbDE40/LH6tWkrCv/gvJxtlA8gPDiMHXZFSx02zETrz7AZawCg8UXA== +"@polywrap/core-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.12.tgz#125e88439007cc13f2405d3f402b504af9dc173e" + integrity sha512-krDcDUyUq2Xdukgkqwy5ldHF+jyecZy/L14Et8bOJ4ONpTZUdedhkVp5lRumcNjYOlybpF86B0o6kO0eUEGkpQ== dependencies: - "@polywrap/result" "0.10.0-pre.5" - "@polywrap/tracing-js" "0.10.0-pre.5" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.5" - graphql "15.5.0" - graphql-tag "2.10.4" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" -"@polywrap/core-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.7.tgz#525aca1d6569e2eaca33ca15668a77dd270c8293" - integrity sha512-06Uc5fux9Dl3cv+nLmLliaBNwzU9J953Haul5OWvIb0+af/ZyxardxfqZim2+jCylSDw7KhXGeaKkJrvpPLsVw== - dependencies: - "@polywrap/result" "0.10.0-pre.7" - "@polywrap/tracing-js" "0.10.0-pre.7" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.7" - -"@polywrap/ens-resolver-plugin-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/ens-resolver-plugin-js/-/ens-resolver-plugin-js-0.10.0-pre.10.tgz#ab64a8cde32b6e1c87125885d8739feaa99aaf1e" - integrity sha512-2QXMKidCe4t8TqvJSz+m7DkfAb89SYqjcBhO9pY1MWQLJRVadIW6USKGM9l8nnljLdcOiylq+K/W08yWu12eGw== +"@polywrap/ethereum-provider-js@../provider/implementations/js": + version "0.3.0" dependencies: - "@ethersproject/address" "5.0.7" - "@ethersproject/basex" "5.0.7" - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/plugin-js" "0.10.0-pre.10" - ethers "5.0.7" + "@ethersproject/address" "5.7.0" + "@ethersproject/providers" "5.7.0" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/plugin-js" "0.10.0-pre.12" + ethers "5.7.0" -"@polywrap/ethereum-provider-js@0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@polywrap/ethereum-provider-js/-/ethereum-provider-js-0.2.2.tgz#0bd6337f26da381b1567f26d077cd32debf43d03" - integrity sha512-GGWB7C8pLSRx1fcBaT/hnLISJNoPilM7FHrKfvhWRAjbGDLKlL1tDmHD2J1G5R5dOkA97Z+boVbI5VrjzqE5/Q== +"@polywrap/ethereum-provider-js@~0.2.3": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@polywrap/ethereum-provider-js/-/ethereum-provider-js-0.2.4.tgz#3df1a6548da191618bb5cae7928c7427e69e0030" + integrity sha512-64xRnniboxxHNZ4/gD6SS4T+QmJPUMbIYZ2hyLODb2QgH3qDBiU+i4gdiQ/BL3T8Sn/0iOxvTIgZalVDJRh2iw== dependencies: "@ethersproject/address" "5.7.0" "@ethersproject/providers" "5.7.0" "@polywrap/core-js" "0.10.0-pre.10" + "@polywrap/plugin-js" "0.10.0-pre.10" ethers "5.7.0" -"@polywrap/fs-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/fs-plugin-js/-/fs-plugin-js-0.10.0-pre.7.tgz#d066fac96869363de512978bb66204b589ffa9a1" - integrity sha512-zhNOrzaK+X95orrD9FgHRt6etUMq2kjzfZtbPGHcBxN3JR81rtO+7UsVfCdz1U2VoHXsKOZ6t59JhHVfvVRP/g== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/plugin-js" "0.10.0-pre.7" - -"@polywrap/fs-resolver-plugin-js@0.10.0-pre.10": +"@polywrap/file-system-plugin-js@~0.10.0-pre": version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/fs-resolver-plugin-js/-/fs-resolver-plugin-js-0.10.0-pre.10.tgz#95ba1be2eeca7d1a48dcc204ba9845642f4dbf1d" - integrity sha512-W7yQglo3fSVojZ6TB+YA/U6Cxs5UB5nnZsdVVTDP9e9gXytp9aOyYpimE3OIyPtxGKGBMbAx27oZ8N5mUbo3ZA== + resolved "https://registry.yarnpkg.com/@polywrap/file-system-plugin-js/-/file-system-plugin-js-0.10.0-pre.10.tgz#93e796d4c25203f05605e7e36446facd6c88902d" + integrity sha512-rqiaHJQ62UoN8VdkoSbpaI5owMrZHhza9ixUS65TCgnoI3aYn3QnMjCfCEkEiwmCeKnB9YH/0S2+6NWQR17XJA== dependencies: "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" "@polywrap/http-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/http-plugin-js/-/http-plugin-js-0.10.0-pre.7.tgz#2ce3106f1e32c78e68b71d58f2331bd79b88f659" - integrity sha512-1WXrx9etHq2qd88XzxC1ofqZA+RI4f5rz8BzH2e9lIzxiBQf4m8zj00dIB2xm+IaEAMq48l9u18CNiYDowIXUg== + version "0.10.0-pre.10" + resolved "https://registry.yarnpkg.com/@polywrap/http-plugin-js/-/http-plugin-js-0.10.0-pre.10.tgz#b746af5c0afbfa4d179c6a1c923708257cb2277e" + integrity sha512-xBFYAISARtHQmDKssBYK0FrJVDltI8BqseYA5eDcxipd6nd8CTAojqh9FFxeOGdxpMM6Vq940w6ggrqo0BXqAg== dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/plugin-js" "0.10.0-pre.7" + "@polywrap/core-js" "0.10.0-pre.10" + "@polywrap/plugin-js" "0.10.0-pre.10" axios "0.21.4" form-data "4.0.0" -"@polywrap/http-resolver-plugin-js@0.10.0-pre.10": +"@polywrap/logger-plugin-js@0.10.0-pre.10": version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/http-resolver-plugin-js/-/http-resolver-plugin-js-0.10.0-pre.10.tgz#7c28e17b7dbe28d7bf7e4b0594eb198a8a075080" - integrity sha512-mOm++DNoShuLKjgA3VLNdgwtCjmsl1qA726YNexJefucysr9imYLIgVN789uRZiS2/XsP3+Scd374EYG5NmlZA== + resolved "https://registry.yarnpkg.com/@polywrap/logger-plugin-js/-/logger-plugin-js-0.10.0-pre.10.tgz#de4a995c083edc26d72abb7420628b40d81efed2" + integrity sha512-6wBgBvphQRI+LP22+xi1KPcCq4B9dUMB/ZAXOpVTb/X/fOqdNBOS1LTXV+BtCe2KfdqGS6DKIXwGITcMOxIDCg== dependencies: "@polywrap/core-js" "0.10.0-pre.10" "@polywrap/plugin-js" "0.10.0-pre.10" - abort-controller "3.0.0" -"@polywrap/ipfs-http-client-lite@0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@polywrap/ipfs-http-client-lite/-/ipfs-http-client-lite-0.3.0.tgz#b8caf4b4f39413e591aff4367023a04cb6df83a1" - integrity sha512-BriJXaflESPSml0lfsAtp4Prl6i8FC0RoEQpEoTx74E3LIAdiPhdPb8hKDTyOR77oX829WDp0EKsRpQmcvCArg== - dependencies: - abort-controller "^3.0.0" - async-iterator-to-pull-stream "^1.3.0" - buffer "^5.2.1" - cids "^0.7.1" - explain-error "^1.0.4" - form-data "^2.4.0" - iterable-ndjson "^1.1.0" - node-fetch "^2.6.0" - pull-stream-to-async-iterator "^1.0.2" - querystring "^0.2.0" - -"@polywrap/ipfs-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/ipfs-plugin-js/-/ipfs-plugin-js-0.10.0-pre.7.tgz#bf54e6b26b34fb0b6c6c04935a074f56e5e34bb6" - integrity sha512-3lgRc86WC+uOjstZVX6WIO/Tvza8XaOKGIHIQYFf+NyTEG/TueQvkNaUZo7RbHoDaXrvDUvmNyzeW0O0OQzfUA== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/ipfs-http-client-lite" "0.3.0" - "@polywrap/plugin-js" "0.10.0-pre.7" - abort-controller "3.0.0" - is-ipfs "1.0.3" - multiformats "9.7.0" - -"@polywrap/ipfs-resolver-plugin-js@~0.10.0-pre": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/ipfs-resolver-plugin-js/-/ipfs-resolver-plugin-js-0.10.0-pre.7.tgz#e82ebae17eacc542d8f83c183674e82715c5bd9c" - integrity sha512-jI+KqpAq0b8P7nmItUwUJ1JTibMfFUvt5mYuylJj9w3Ua15foTpML60uhOCt1kZ4TeaZoq7C1QcytbWTMsfhUQ== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/ipfs-http-client-lite" "0.3.0" - "@polywrap/plugin-js" "0.10.0-pre.7" - abort-controller "3.0.0" - is-ipfs "1.0.3" - -"@polywrap/logger-plugin-js@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@polywrap/logger-plugin-js/-/logger-plugin-js-0.10.0.tgz#9fc10532e86642d7e8eb3fc7a34494cb077610bd" - integrity sha512-Pb+VcXhSGq2ks2bcPPARSLYksRzcadnBsCzf+tv5B3fisZjD+dEEdI8Apj7ol+186njhNVKzoeR5UYdtINUE0g== - dependencies: - "@polywrap/core-js" "0.10.0-pre.5" - "@polywrap/plugin-js" "0.10.0-pre.5" - -"@polywrap/logging-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/logging-js/-/logging-js-0.10.0-pre.10.tgz#e021933bb2f91e344b49a65888584519611fa98a" - integrity sha512-cop0/g9jvwac4zlSR3fzBOEZRCGGex4X3Jdh2KxO0lwyup0xsTjCnj1SmXVzrSLH2grjyf9mJBrkNCgYGsKyGA== +"@polywrap/logging-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/logging-js/-/logging-js-0.10.0-pre.12.tgz#6bba049b0696b12659708fe6ea0e4148f231bce8" + integrity sha512-xEwSMpUAFM4uurkSTRNPyVVVfPBARN9jgunA59zCUP/b/l3RwPxaVRGdauXkKMLB8tY25sK3h6hJlYDT+uE04g== "@polywrap/msgpack-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -1370,24 +1296,17 @@ dependencies: "@msgpack/msgpack" "2.7.2" -"@polywrap/msgpack-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.10.0-pre.5.tgz#c7295e2f5b299654462426afd05a02737de839c6" - integrity sha512-R0NCooOY3d4JPVz7CP6rCmOTraQe6us+b9i213z+Dgu9y8lIEZGEmX+ipCULGvAbcDrSxWHBc8ImtkX0oNv+2g== - dependencies: - "@msgpack/msgpack" "2.7.2" - -"@polywrap/msgpack-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.10.0-pre.7.tgz#b3b48639e04874f9881a1423d375e927e5b72da0" - integrity sha512-P1Htd76w7fBNM5/aRUaPpKGcfO/tkRo6FImRo8vFM5hvMKaxlc5yO48r/4O6LOlCBSG7mWce5+9QXg/rCWzfZw== +"@polywrap/msgpack-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.10.0-pre.12.tgz#45bb73394a8858487871dd7e6b725011164f7826" + integrity sha512-kzDMFls4V814CG9FJTlwkcEHV/0eApMmluB8rnVs8K2cHZDDaxXnFCcrLscZwvB4qUy+u0zKfa5JB+eRP3abBg== dependencies: "@msgpack/msgpack" "2.7.2" -"@polywrap/os-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/os-js/-/os-js-0.10.0-pre.10.tgz#d393141012d46e2dfd6ca33c02afedc63501f4ac" - integrity sha512-tB/2xHTjoEwQottkbOUB7UCtdRb1QhbUQfXrCxwhRBcnNOdsFqcKUh4xLrhZB8j+V/xyf1KwW0ciPwxjqfmHwA== +"@polywrap/os-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/os-js/-/os-js-0.10.0-pre.12.tgz#ea5bc2a3d0aae834449536d8236066ab653889a8" + integrity sha512-JMDjgfwr/BSRK88kxHhesc19cxoHl/dQlnUT20nP5hl7kz5vN+k3HAAxG/Ins5ziVNxtVvKXcTeH6Ze+SdsMEQ== "@polywrap/plugin-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -1400,40 +1319,29 @@ "@polywrap/tracing-js" "0.10.0-pre.10" "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" -"@polywrap/plugin-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.5.tgz#5bd416cb7f52f001144222e5bc83d1e94ff23cb4" - integrity sha512-WQXJs0AOQKr+mZ4jNFECiOTpjrZCdJnKkwa5QcgyTh8Ni7qgDbDfpVbR0SsiuqdJjqFbc8aSivGnubZcg/resg== - dependencies: - "@polywrap/core-js" "0.10.0-pre.5" - "@polywrap/msgpack-js" "0.10.0-pre.5" - "@polywrap/result" "0.10.0-pre.5" - "@polywrap/tracing-js" "0.10.0-pre.5" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.5" - -"@polywrap/plugin-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.7.tgz#d2129546417d113b773467a58a64ab45f6a11854" - integrity sha512-XdHfXaIKH2Pv3Bh5XTnYQOOmCLA2Cx8qdYHCJWbpDA7Ug6F3aSA4e6PNy8R9GzA6/WS5jzN+Wu/YNJdj6mZXHw== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/msgpack-js" "0.10.0-pre.7" - "@polywrap/result" "0.10.0-pre.7" - "@polywrap/tracing-js" "0.10.0-pre.7" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.7" - -"@polywrap/polywrap-manifest-schemas@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-schemas/-/polywrap-manifest-schemas-0.10.0-pre.10.tgz#9c1a68cde7cab7891eefd0af9aec9f3a5b4ee2cf" - integrity sha512-OLTM9JnAcibD6gbKfnrjGXoG9tJVx4ZJ5rQq3Pk87buibiVrjCvZRaY+bZjd0NwaoxZZqlgPBqK7oErISG0hlQ== - -"@polywrap/polywrap-manifest-types-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-types-js/-/polywrap-manifest-types-js-0.10.0-pre.10.tgz#f6638afe603e43983fa50fa7b477325dd52e79d4" - integrity sha512-bDuvi5Mr6IwYJHLLWXgccyEAcb9l9kI2cUE1Tr4/r0PLL/hMi771UcZpS+wxt3hIBK7WGrkneKwWGuwgfmv3DA== - dependencies: - "@polywrap/logging-js" "0.10.0-pre.10" - "@polywrap/polywrap-manifest-schemas" "0.10.0-pre.10" +"@polywrap/plugin-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.12.tgz#71675e66944167d4d9bb0684a9fc41fee0abd62c" + integrity sha512-GZ/l07wVPYiRsHJkfLarX8kpnA9PBjcKwLqS+v/YbTtA1d400BHC8vAu9Fq4WSF78VHZEPQQZbWoLBnoM7fIeA== + dependencies: + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/polywrap-manifest-schemas@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-schemas/-/polywrap-manifest-schemas-0.10.0-pre.12.tgz#e1f7b5bb80bb26d403c81140ed188c97d9249d6b" + integrity sha512-E0xnXryGP3K4JVrNezfoB173NgboUkxzV5hJvqNgUXjhk4yLZqRi16kZSuW8rJ3Jp1qKN290C9jHutluhTQj9g== + +"@polywrap/polywrap-manifest-types-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-types-js/-/polywrap-manifest-types-js-0.10.0-pre.12.tgz#b593b66c83a2e799596270c3221aae69e9375b08" + integrity sha512-5sQF6RaGcQuQkDQTFIrKKt6fxjEmm/+rHkQXBHX7Z4g2wSRyJIoxXiJKzxcyMUl12gQFaWdIY5RxzApwZ0LeOA== + dependencies: + "@polywrap/logging-js" "0.10.0-pre.12" + "@polywrap/polywrap-manifest-schemas" "0.10.0-pre.12" jsonschema "1.4.0" semver "7.3.8" yaml "2.1.3" @@ -1443,56 +1351,40 @@ resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.10.tgz#6e88ac447d92d8a10c7e7892a6371af29a072240" integrity sha512-SqNnEbXky4dFXgps2B2juFShq1024do0f1HLUbuj3MlIPp5aW9g9sfBslsy3YTnpg2QW7LFVT15crrJMgbowIQ== -"@polywrap/result@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.5.tgz#b703878cf7426dee0edc1a2649f79a06153b403e" - integrity sha512-5ATKBdqSS/qmSfJDrQBBq4d34b3Al381bJWJ8nWlcyt8ybo2CqHwQuv/dD02elmhS2G3EK/p/sZCbD1st8CZYw== +"@polywrap/result@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.12.tgz#530f8f5ced2bef189466f9fb8b41a520b12e9372" + integrity sha512-KnGRJMBy1SCJt3mymO3ob0e1asqYOyY+NNKySQ5ocvG/iMlhtODs4dy2EeEtcIFZ+c7TyBPVD4SI863qHQGOUQ== -"@polywrap/result@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.7.tgz#0805b8c78f505eb4ade9c79c638f559b89ce7750" - integrity sha512-yxY8urJ+8sCwwdjMhZalt/5xzsGkBxbrPRIRJOQc85Qk2RRcm1khpmrFggCE2OY93gUueRXKH94Gd2biCjd+bg== - -"@polywrap/schema-bind@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/schema-bind/-/schema-bind-0.10.0-pre.10.tgz#835abe26fcf1f16956304187e794173e0ff6efcc" - integrity sha512-GA9jTVXSGGWozLG+OwMP8yPZDNN179+PFMvlMXpXei3C4l7UT4wVh1J79FPCGF61VDn05QkhMZ/ykMvpvx7iPw== +"@polywrap/schema-bind@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/schema-bind/-/schema-bind-0.10.0-pre.12.tgz#a2922446aa0e65c92604b98f3f378470350fa49b" + integrity sha512-f/v9PIytnNPDpgAHepnjVkX+zD1Wz45G3JW6T84KXIiBrwdeAB15XnC2UXNGk553tD6toiXMUoN8BVNT61Oq0Q== dependencies: - "@polywrap/os-js" "0.10.0-pre.10" - "@polywrap/schema-parse" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/os-js" "0.10.0-pre.12" + "@polywrap/schema-parse" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" mustache "4.0.1" -"@polywrap/schema-compose@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/schema-compose/-/schema-compose-0.10.0-pre.10.tgz#9ab5679aa52d16dd9c7f57ef8a4c8fa7185f5322" - integrity sha512-wFHjGm2UNiBmLtQHsfnimlUDlKSO6JzevAyaOod2Q3iHcNj1qARXZj81SqyMr9/E4wPYEBQTib/Z6YLD2eo/0Q== +"@polywrap/schema-compose@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/schema-compose/-/schema-compose-0.10.0-pre.12.tgz#68c8de890ae84912fe7477573286019a9a864ad3" + integrity sha512-Pg/1pGMF+W2fq+zAl29pMey2rdKSWa3p9Co29WSeteWhmMZqj0aTn7eRa0dg5sJu5Rm/5yFkmnr1aZZpBx5odw== dependencies: - "@polywrap/schema-parse" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/schema-parse" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" graphql "15.5.0" mustache "4.0.1" -"@polywrap/schema-parse@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/schema-parse/-/schema-parse-0.10.0-pre.10.tgz#f61af6eba6272ee6c589db0b6f568bf08926ba8b" - integrity sha512-133Fl2tNOPnJN2KP/xgChs55IV43GQGrjaiiQxG2qkTb5+8hbkMGH1xKl4SXerdWqLOT2zczGZdLZzhNQhQ7lg== +"@polywrap/schema-parse@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/schema-parse/-/schema-parse-0.10.0-pre.12.tgz#1ac89ef0b81539830ba2e934d781cdc00b1cc815" + integrity sha512-KDh7iiMYcmzjDahHDLSohsdF0We/T2KCprU85Bj67OOlO3e1ZiYgnuybaz9NZdXAsY/9WkpeYwsm96lALeg1pA== dependencies: "@dorgjelli/graphql-schema-cycles" "1.1.4" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" graphql "15.5.0" -"@polywrap/test-env-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/test-env-js/-/test-env-js-0.10.0-pre.10.tgz#5201f2c0a25cdbadc5aa5c750e557dc323315e6d" - integrity sha512-7RnCFpA25HUAUGl/lK5mgYTnH8ThsXMoraMHFWcgweqJvdWfpLtpHUf3aqu2/JQru2VfU/hL712yb8lZFgYkdw== - dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/polywrap-manifest-types-js" "0.10.0-pre.10" - axios "0.21.2" - spawn-command "0.0.2-1" - yaml "2.1.3" - "@polywrap/tracing-js@0.10.0-pre.10": version "0.10.0-pre.10" resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.10.tgz#f50fb01883dcba4217a1711718aa53f3dd61cb1c" @@ -1505,10 +1397,10 @@ "@opentelemetry/sdk-trace-base" "1.6.0" "@opentelemetry/sdk-trace-web" "1.6.0" -"@polywrap/tracing-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.5.tgz#3408c469c64a1f4e6f059f40d04c6b6e6328e76f" - integrity sha512-7sUl3K1rCuCxr6LJ2mucf4KcvUgpNbyhiv7Q68BOFEzFgJCpai6IGi4domgYvz/MPsanqVhkMwdf5D1iuK6PwQ== +"@polywrap/tracing-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.12.tgz#61052f06ca23cd73e5de2a58a874b269fcc84be0" + integrity sha512-RUKEQxwHbrcMzQIV8IiRvnEfEfvsgO8/YI9/SqLjkV8V0QUj7UWjuIP7VfQ/ctJJAkm3sZqzeoE+BN+SYAeZSw== dependencies: "@fetsorn/opentelemetry-console-exporter" "0.0.3" "@opentelemetry/api" "1.2.0" @@ -1517,49 +1409,37 @@ "@opentelemetry/sdk-trace-base" "1.6.0" "@opentelemetry/sdk-trace-web" "1.6.0" -"@polywrap/tracing-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.7.tgz#8866bbc6d9cc834499d2e3460c90b80e26c5e682" - integrity sha512-26uVWLJ2WBwcbY1wTFaWaItktMUI/QTMwvewu2pnQhdowXsviubaxn9txM2Of0orBOiM2aZ4djBUlcVpSr5vZg== - dependencies: - "@fetsorn/opentelemetry-console-exporter" "0.0.3" - "@opentelemetry/api" "1.2.0" - "@opentelemetry/exporter-trace-otlp-http" "0.32.0" - "@opentelemetry/resources" "1.6.0" - "@opentelemetry/sdk-trace-base" "1.6.0" - "@opentelemetry/sdk-trace-web" "1.6.0" - -"@polywrap/uri-resolver-extensions-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/uri-resolver-extensions-js/-/uri-resolver-extensions-js-0.10.0-pre.10.tgz#650041d7ceb72375aa132fb4e2f9a3bdebcdb450" - integrity sha512-vQU1BnPJ/E/QJrzKJbfdAYsNHkSNJ6jPrQ6ax033PtfBHef9RCKpj5trIS2VxJzpPC5KFgBCrhVb0LwDhEGp8A== - dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wasm-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" - -"@polywrap/uri-resolvers-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/uri-resolvers-js/-/uri-resolvers-js-0.10.0-pre.10.tgz#bb4112ffb18aa6828ab730e60710d507b2f5f4ad" - integrity sha512-kgoM2zlBSsH/NDY+0Rn/WLyV17Pe2LNMjhxmHPcFVQJ5rkbhDWv9tIb1CE7D220bj/EUaaFseYkUVep1j7bIoQ== - dependencies: - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" - -"@polywrap/wasm-js@0.10.0-pre.10": - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/@polywrap/wasm-js/-/wasm-js-0.10.0-pre.10.tgz#26c4d6df940bc02215e46e177d800fcfdb3cb5e3" - integrity sha512-0I8v8ZwojA6Sy0wZA2ZxTCwTx65eIcrn83KFvfNsMCdBmj8wBgTlzE+VlJfR+Qt9T3gUukN89N5l1nxNJBF0+w== - dependencies: - "@polywrap/asyncify-js" "0.10.0-pre.10" - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/msgpack-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/tracing-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" +"@polywrap/uri-resolver-extensions-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/uri-resolver-extensions-js/-/uri-resolver-extensions-js-0.10.0-pre.12.tgz#a96764685ba9323f715839353bc66c1b9f2f406c" + integrity sha512-CywvCeNj7eVW6JV9YiWxkwl7hMLpXkdfMF7/MKeYFHJ/RK1ALHJAAGuHGJTwBiN6FuRVBXD2LA4YW7U/oS5wiQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wasm-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/uri-resolvers-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/uri-resolvers-js/-/uri-resolvers-js-0.10.0-pre.12.tgz#86543e4d672f5406fd93e9e23a43d6006f4d3973" + integrity sha512-9Fj4gFNUSP/3GgQhb+W5zLuBJrQYkvxKdEsLdQqZwvANuz3p420QtwYLxZ3Vr3pGRbm18bzd1dP0dDAQpUXrYQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" + +"@polywrap/wasm-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/wasm-js/-/wasm-js-0.10.0-pre.12.tgz#70b64a500b0353523ba54ef91065df11a295b51c" + integrity sha512-5dx2TR18WE2nIALUljHZAyZ0pXbHihPwKPiHmQUX7f1JvlUlkwWdTr5pMB0zCWxMIVPOISTw4C9l/zhgrJ3eeg== + dependencies: + "@polywrap/asyncify-js" "0.10.0-pre.12" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/msgpack-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/tracing-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" "@polywrap/wrap-manifest-types-js@0.10.0-pre.10": version "0.10.0-pre.10" @@ -1570,23 +1450,14 @@ jsonschema "1.4.0" semver "7.3.8" -"@polywrap/wrap-manifest-types-js@0.10.0-pre.5": - version "0.10.0-pre.5" - resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.10.0-pre.5.tgz#bf37741becd9856458400f4f972f8c4a4fc1ac5e" - integrity sha512-7IbPpt76PXjhBkd8SPJARw4P9bpekb44YdrnsKXTeT5d8JQ5OgY4syiMVsmTraMdmHJxkJTZ/raqSZHLAxWLiw== - dependencies: - json-schema-ref-parser "9.0.9" - jsonschema "1.4.0" - semver "7.3.5" - -"@polywrap/wrap-manifest-types-js@0.10.0-pre.7": - version "0.10.0-pre.7" - resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.10.0-pre.7.tgz#adf8758cc99d52c0cba52e559dcc5d186eb0a15c" - integrity sha512-UlX9FOJyh1vcuKkKXwo2rvt1g4eiJQRj2BakNWA0qdrVGER1abhRyEYCbogOgiooloCHkMQ7Vqz6Lv3pLvHRsQ== +"@polywrap/wrap-manifest-types-js@0.10.0-pre.12": + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.10.0-pre.12.tgz#a8498b71f89ba9d8b90972faa7bfddffd5dd52c1" + integrity sha512-Bc3yAm5vHOKBwS8rkbKPNwa2puV5Oa6jws6EP6uPpr2Y/Iv4zyEBmzMWZuO1eWi2x7DM5M9cbfRbDfT6oR/Lhw== dependencies: - json-schema-ref-parser "9.0.9" + "@apidevtools/json-schema-ref-parser" "9.0.9" jsonschema "1.4.0" - semver "7.3.5" + semver "7.3.8" "@sinonjs/commons@^1.7.0": version "1.8.6" @@ -1700,9 +1571,9 @@ integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/node@*": - version "18.14.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.2.tgz#c076ed1d7b6095078ad3cf21dfeea951842778b1" - integrity sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA== + version "18.15.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" + integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1748,7 +1619,7 @@ abab@^2.0.3, abab@^2.0.5: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -abort-controller@3.0.0, abort-controller@^3.0.0: +abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== @@ -1892,14 +1763,6 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== -async-iterator-to-pull-stream@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/async-iterator-to-pull-stream/-/async-iterator-to-pull-stream-1.3.0.tgz#3a6b9f3cceadff972ca20eb480e3cb43f8789732" - integrity sha512-NjyhAEz/sx32olqgKIk/2xbWEM6o8qef1yetIgb0U/R3oBgndP1kE/0CslowH3jvnA94BO4I6OXpOkTKH7Z1AA== - dependencies: - get-iterator "^1.0.2" - pull-stream-to-async-iterator "^1.0.1" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2184,7 +2047,7 @@ buffer-from@1.x, buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^5.2.1, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: +buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -2244,9 +2107,9 @@ camelcase@^6.0.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001449: - version "1.0.30001458" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001458.tgz#871e35866b4654a7d25eccca86864f411825540c" - integrity sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w== + version "1.0.30001466" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz#c1e6197c540392e09709ecaa9e3e403428c53375" + integrity sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w== capture-exit@^2.0.0: version "2.0.0" @@ -2326,17 +2189,6 @@ cids@^1.0.0: multihashes "^4.0.1" uint8arrays "^3.0.0" -cids@~0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.8.3.tgz#aaf48ac8ed857c3d37dad94d8db1d8c9407b92db" - integrity sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA== - dependencies: - buffer "^5.6.0" - class-is "^1.1.0" - multibase "^1.0.0" - multicodec "^1.0.1" - multihashes "^1.0.1" - cjs-module-lexer@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" @@ -2417,7 +2269,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.6, combined-stream@^1.0.8: +combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2444,14 +2296,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concurrent-plugin-js@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/concurrent-plugin-js/-/concurrent-plugin-js-0.1.2.tgz#206b9f12723fb99d79a4c03c0f28b427deca6ff4" - integrity sha512-MWpw9uuQtQ/IerG2CtGjFm+UTmDy0D+D7HZh4hW5PYTk4SbcYBVJtK6n7Yk3tg8NE3rcXLnRxLBoW7UbO2o5hw== - dependencies: - "@polywrap/core-js" "0.10.0-pre.7" - "@polywrap/msgpack-js" "0.10.0-pre.7" - content-hash@2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" @@ -2670,9 +2514,9 @@ electron-fetch@^1.7.2: encoding "^0.1.13" electron-to-chromium@^1.4.284: - version "1.4.314" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.314.tgz#33e4ad7a2ca2ddbe2e113874cc0c0e2a00cb46bf" - integrity sha512-+3RmNVx9hZLlc0gW//4yep0K5SYKmIvB5DXg1Yg6varsuAHlHwTeqeygfS8DWwLCsNOWrgj+p9qgM5WYjw1lXQ== + version "1.4.328" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.328.tgz#b4565ffa502542b561cea16086d6d9b916c7095a" + integrity sha512-DE9tTy2PNmy1v55AZAO542ui+MLC2cvINMK4P2LXGsJdput/ThVG9t+QGecPuAZZSgC8XoI+Jh9M1OG9IoNSCw== elliptic@6.5.4: version "6.5.4" @@ -2778,51 +2622,6 @@ eth-ens-namehash@2.0.8: idna-uts46-hx "^2.3.1" js-sha3 "^0.5.7" -ethereum-provider-js@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/ethereum-provider-js/-/ethereum-provider-js-0.1.7.tgz#a340545c267b7068c9ff697ba5e891c20d6bc5a8" - integrity sha512-x//Mdfhsw3IJPemWufLtZX7JkOFRJ8vVGHkFLjdwDew/EErNq4aV3UfjMylcmeP21WVoOmZzNyljEMtvQFng4w== - dependencies: - "@ethersproject/address" "5.7.0" - "@ethersproject/providers" "5.7.0" - "@polywrap/core-js" "0.10.0-pre.7" - ethers "5.7.0" - -ethers@5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.7.tgz#41c3d774e0a57bfde12b0198885789fb41a14976" - integrity sha512-1Zu9s+z4BgsDAZcGIYACJdWBB6mVtCCmUonj68Njul7STcSdgwOyj0sCAxCUr2Nsmsamckr4E12q3ecvZPGAUw== - dependencies: - "@ethersproject/abi" "^5.0.0" - "@ethersproject/abstract-provider" "^5.0.0" - "@ethersproject/abstract-signer" "^5.0.0" - "@ethersproject/address" "^5.0.0" - "@ethersproject/base64" "^5.0.0" - "@ethersproject/bignumber" "^5.0.0" - "@ethersproject/bytes" "^5.0.0" - "@ethersproject/constants" "^5.0.0" - "@ethersproject/contracts" "^5.0.0" - "@ethersproject/hash" "^5.0.0" - "@ethersproject/hdnode" "^5.0.0" - "@ethersproject/json-wallets" "^5.0.0" - "@ethersproject/keccak256" "^5.0.0" - "@ethersproject/logger" "^5.0.0" - "@ethersproject/networks" "^5.0.0" - "@ethersproject/pbkdf2" "^5.0.0" - "@ethersproject/properties" "^5.0.0" - "@ethersproject/providers" "^5.0.0" - "@ethersproject/random" "^5.0.0" - "@ethersproject/rlp" "^5.0.0" - "@ethersproject/sha2" "^5.0.0" - "@ethersproject/signing-key" "^5.0.0" - "@ethersproject/solidity" "^5.0.0" - "@ethersproject/strings" "^5.0.0" - "@ethersproject/transactions" "^5.0.0" - "@ethersproject/units" "^5.0.0" - "@ethersproject/wallet" "^5.0.0" - "@ethersproject/web" "^5.0.0" - "@ethersproject/wordlists" "^5.0.0" - ethers@5.7.0: version "5.7.0" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.0.tgz#0055da174b9e076b242b8282638bc94e04b39835" @@ -2963,11 +2762,6 @@ expect@^26.6.2: jest-message-util "^26.6.2" jest-regex-util "^26.0.0" -explain-error@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/explain-error/-/explain-error-1.0.4.tgz#a793d3ac0cad4c6ab571e9968fbbab6cb2532929" - integrity sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ== - extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -3093,15 +2887,6 @@ form-data@4.0.0, form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@^2.4.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -3249,11 +3034,6 @@ graphql-json-transform@^1.1.0-alpha.0: resolved "https://registry.yarnpkg.com/graphql-json-transform/-/graphql-json-transform-1.1.0-alpha.0.tgz#fb0c88d24840067e6c55ac64bbc8d4e5de245d2d" integrity sha512-I6lR/lYEezSz4iru0f7a/wR8Rzi3pCafk7S0bX2b/WQOtK0vKabxLShGBXIslsi0arMehIjvOPHJl7MpOUqj0w== -graphql-tag@2.10.4: - version "2.10.4" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.4.tgz#2f301a98219be8b178a6453bb7e33b79b66d8f83" - integrity sha512-O7vG5BT3w6Sotc26ybcvLKNTdfr4GfsIVMD+LdYqXCeJIYPRyp8BIsDOUtxw7S1PYvRw5vH3278J2EDezR6mfA== - graphql@15.5.0: version "15.5.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" @@ -3735,19 +3515,6 @@ is-ip@^3.1.0: dependencies: ip-regex "^4.0.0" -is-ipfs@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-1.0.3.tgz#4b8c4995c46beac38f0c05f8cecd77093dd6a6b3" - integrity sha512-7SAfhxp39rxMvr95qjHMtsle1xa7zXpIbhX/Q77iXKtMVnQ0Fr9AVpAUq+bl3HPXGXDpZJFP0hzWBZaMwD6vGg== - dependencies: - buffer "^5.6.0" - cids "~0.8.0" - iso-url "~0.4.7" - mafmt "^7.1.0" - multiaddr "^7.4.3" - multibase "~0.7.0" - multihashes "~0.4.19" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -3975,13 +3742,6 @@ it-to-stream@^0.1.2: p-fifo "^1.0.0" readable-stream "^3.6.0" -iterable-ndjson@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz#36f7e8a5bb04fd087d384f29e44fc4280fc014fc" - integrity sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg== - dependencies: - string_decoder "^1.2.0" - jest-changed-files@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" @@ -4443,13 +4203,6 @@ json-parse-even-better-errors@^2.3.0: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-schema-ref-parser@9.0.9: - version "9.0.9" - resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#66ea538e7450b12af342fa3d5b8458bc1e1e013f" - integrity sha512-qcP2lmGy+JUoQJ4DOQeLaZDqH9qSkeGCK3suKWxJXS82dg728Mn3j97azDMaOUmJAN4uCq91LdPx4K7E8F1a7Q== - dependencies: - "@apidevtools/json-schema-ref-parser" "9.0.9" - json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" @@ -4566,13 +4319,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -mafmt@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-7.1.0.tgz#4126f6d0eded070ace7dbbb6fb04977412d380b5" - integrity sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA== - dependencies: - multiaddr "^7.3.0" - make-dir@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -4687,9 +4433,9 @@ minimalistic-crypto-utils@^1.0.1: integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== minimatch@*: - version "7.3.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.3.0.tgz#cfb7337e7460308e7147c58250fa0dee3da7929c" - integrity sha512-WaMDuhKa7a6zKiwplR1AOz+zGvJba24k5VU1Cy6NhEguavT2YRlHxuINUgTas4wiS6fwBpYq4TcA1XIECSntyw== + version "7.4.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.2.tgz#157e847d79ca671054253b840656720cb733f10f" + integrity sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA== dependencies: brace-expansion "^2.0.1" @@ -4740,18 +4486,6 @@ multiaddr-to-uri@^6.0.0: dependencies: multiaddr "^8.0.0" -multiaddr@^7.3.0, multiaddr@^7.4.3: - version "7.5.0" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-7.5.0.tgz#976c88e256e512263445ab03b3b68c003d5f485e" - integrity sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw== - dependencies: - buffer "^5.5.0" - cids "~0.8.0" - class-is "^1.1.0" - is-ip "^3.1.0" - multibase "^0.7.0" - varint "^5.0.0" - multiaddr@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-8.1.2.tgz#74060ff8636ba1c01b2cf0ffd53950b852fa9b1f" @@ -4766,7 +4500,7 @@ multiaddr@^8.0.0: uint8arrays "^1.1.0" varint "^5.0.0" -multibase@^0.7.0, multibase@~0.7.0: +multibase@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== @@ -4774,14 +4508,6 @@ multibase@^0.7.0, multibase@~0.7.0: base-x "^3.0.8" buffer "^5.5.0" -multibase@^1.0.0, multibase@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-1.0.1.tgz#4adbe1de0be8a1ab0274328b653c3f1903476724" - integrity sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - multibase@^3.0.0, multibase@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/multibase/-/multibase-3.1.2.tgz#59314e1e2c35d018db38e4c20bb79026827f0f2f" @@ -4812,7 +4538,7 @@ multicodec@^0.5.5: dependencies: varint "^5.0.0" -multicodec@^1.0.0, multicodec@^1.0.1: +multicodec@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== @@ -4836,17 +4562,12 @@ multicodec@^3.0.1: uint8arrays "^3.0.0" varint "^6.0.0" -multiformats@9.7.0: - version "9.7.0" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.7.0.tgz#845799e8df70fbb6b15922500e45cb87cf12f7e5" - integrity sha512-uv/tcgwk0yN4DStopnBN4GTgvaAlYdy6KnZpuzEPFOYQd71DYFJjs0MN1ERElAflrZaYyGBWXyGxL5GgrxIx0Q== - multiformats@^9.4.2: version "9.9.0" resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== -multihashes@^0.4.15, multihashes@~0.4.15, multihashes@~0.4.19: +multihashes@^0.4.15, multihashes@~0.4.15: version "0.4.21" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== @@ -4855,15 +4576,6 @@ multihashes@^0.4.15, multihashes@~0.4.15, multihashes@~0.4.19: multibase "^0.7.0" varint "^5.0.0" -multihashes@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-1.0.1.tgz#a89415d68283cf6287c6e219e304e75ce7fb73fe" - integrity sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw== - dependencies: - buffer "^5.6.0" - multibase "^1.0.1" - varint "^5.0.0" - multihashes@^3.0.1: version "3.1.2" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-3.1.2.tgz#ffa5e50497aceb7911f7b4a3b6cada9b9730edfc" @@ -5230,33 +4942,31 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -polywrap@0.10.0-pre.10: - version "0.10.0-pre.10" - resolved "https://registry.yarnpkg.com/polywrap/-/polywrap-0.10.0-pre.10.tgz#1c373112d12bdc4c6baaa506593ff14a4b1a323b" - integrity sha512-u0uobZuVkHKSqRqdZeHoFs+FNgI3wDJ4Gl940H6SYJtFZi0Uc0UE85WX5UvqVBQrQ6GLjAGWxi05iQ82JVa18A== +polywrap@0.10.0-pre.12: + version "0.10.0-pre.12" + resolved "https://registry.yarnpkg.com/polywrap/-/polywrap-0.10.0-pre.12.tgz#ad747522fa94584bb7038297b819e08768fa0e75" + integrity sha512-k1VztkFZcOu+6T12gexE2ipOeyFarVRjj61uLNJXJ8k2+fMhgc8aKaWV9RtKlwHGFltBUsYEgaqjXprwMSeVVw== dependencies: "@apidevtools/json-schema-ref-parser" "9.0.9" "@ethersproject/providers" "5.6.8" "@ethersproject/wallet" "5.6.2" "@formatjs/intl" "1.8.2" - "@polywrap/asyncify-js" "0.10.0-pre.10" - "@polywrap/client-config-builder-js" "0.10.0-pre.10" - "@polywrap/client-js" "0.10.0-pre.10" - "@polywrap/core-js" "0.10.0-pre.10" - "@polywrap/ens-resolver-plugin-js" "0.10.0-pre.10" - "@polywrap/ipfs-plugin-js" "~0.10.0-pre" - "@polywrap/logging-js" "0.10.0-pre.10" - "@polywrap/os-js" "0.10.0-pre.10" - "@polywrap/polywrap-manifest-types-js" "0.10.0-pre.10" - "@polywrap/result" "0.10.0-pre.10" - "@polywrap/schema-bind" "0.10.0-pre.10" - "@polywrap/schema-compose" "0.10.0-pre.10" - "@polywrap/schema-parse" "0.10.0-pre.10" - "@polywrap/test-env-js" "0.10.0-pre.10" - "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.10" - "@polywrap/uri-resolvers-js" "0.10.0-pre.10" - "@polywrap/wasm-js" "0.10.0-pre.10" - "@polywrap/wrap-manifest-types-js" "0.10.0-pre.10" + "@polywrap/asyncify-js" "0.10.0-pre.12" + "@polywrap/client-config-builder-js" "0.10.0-pre.12" + "@polywrap/client-js" "0.10.0-pre.12" + "@polywrap/core-js" "0.10.0-pre.12" + "@polywrap/ethereum-provider-js" "~0.2.3" + "@polywrap/logging-js" "0.10.0-pre.12" + "@polywrap/os-js" "0.10.0-pre.12" + "@polywrap/polywrap-manifest-types-js" "0.10.0-pre.12" + "@polywrap/result" "0.10.0-pre.12" + "@polywrap/schema-bind" "0.10.0-pre.12" + "@polywrap/schema-compose" "0.10.0-pre.12" + "@polywrap/schema-parse" "0.10.0-pre.12" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.12" + "@polywrap/uri-resolvers-js" "0.10.0-pre.12" + "@polywrap/wasm-js" "0.10.0-pre.12" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.12" axios "0.21.2" chalk "4.1.0" chokidar "3.5.1" @@ -5264,7 +4974,6 @@ polywrap@0.10.0-pre.10: content-hash "2.5.2" copyfiles "2.4.1" docker-compose "0.23.17" - ethereum-provider-js "0.1.7" extract-zip "2.0.1" form-data "4.0.0" fs-extra "9.0.1" @@ -5342,18 +5051,6 @@ psl@^1.1.33: resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== -pull-stream-to-async-iterator@^1.0.1, pull-stream-to-async-iterator@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pull-stream-to-async-iterator/-/pull-stream-to-async-iterator-1.0.2.tgz#5cc1a3a146ef6bbf01c17755647369b683b24986" - integrity sha512-c3KRs2EneuxP7b6pG9fvQTIjatf33RbIErhbQ75s5r2MI6E8R74NZC1nJgXc8kcmqiQxmr+TWY+WwK2mWaUnlA== - dependencies: - pull-stream "^3.6.9" - -pull-stream@^3.6.9: - version "3.7.0" - resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.7.0.tgz#85de0e44ff38a4d2ad08cc43fc458e1922f9bf0b" - integrity sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw== - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -5372,11 +5069,6 @@ punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -5407,9 +5099,9 @@ read-pkg@^5.2.0: type-fest "^0.6.0" readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.1.tgz#f9f9b5f536920253b3d26e7660e7da4ccff9bb62" - integrity sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ== + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -5609,13 +5301,6 @@ scrypt-js@3.0.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - semver@7.3.8, semver@7.x, semver@^7.3.2: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" @@ -5769,9 +5454,9 @@ spawn-command@0.0.2-1: integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg== spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" @@ -5790,9 +5475,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.12" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" - integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== + version "3.0.13" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" @@ -5850,7 +5535,7 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string_decoder@^1.1.1, string_decoder@^1.2.0: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== From 7edb2aa88fb5e8eb990c3e97c76dcd06e8a06097 Mon Sep 17 00:00:00 2001 From: krisbitney Date: Tue, 14 Mar 2023 22:38:15 +0530 Subject: [PATCH 09/25] added temporary solidityPack method to EthereumProviderPlugin --- provider/implementations/js/src/index.ts | 19 ++++++++++++++++++- .../implementations/js/src/schema.graphql | 7 ++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 691d807..3b789d1 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -8,7 +8,7 @@ import { IProvider_Module_Args_address as Args_address, IProvider_Module_Args_chainId as Args_chainId, IProvider_Module_Args_waitForTransaction as Args_waitForTransaction, - IProvider_Connection as SchemaConnection + IProvider_Connection as SchemaConnection, Args_solidityPack } from "./wrap"; import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; import { Connection } from "./Connection"; @@ -119,6 +119,23 @@ export class EthereumProviderPlugin extends Module { return network.chainId.toString(); } + public async solidityPack(args: Args_solidityPack): Promise { + return ethers.utils.solidityPack(args.types, this.parseArgs(args.values)); + } + + private parseArgs(args?: string[] | null): unknown[] { + if (!args) { + return []; + } + + return args.map((arg: string) => + (arg.startsWith("[") && arg.endsWith("]")) || + (arg.startsWith("{") && arg.endsWith("}")) + ? JSON.parse(arg) + : arg + ); + } + private async _getConnection(connection?: SchemaConnection | null): Promise { return this._connections.getConnection(connection ?? this.env.connection); } diff --git a/provider/implementations/js/src/schema.graphql b/provider/implementations/js/src/schema.graphql index c43385d..53a7c62 100644 --- a/provider/implementations/js/src/schema.graphql +++ b/provider/implementations/js/src/schema.graphql @@ -4,4 +4,9 @@ type Env { connection: IProvider_Connection } -type Module implements IProvider {} +type Module implements IProvider { + solidityPack( + types: [String!]! + values: [String!]! + ): String! +} From 8ceed828e6d2211667f607b234e302c3cfa6e591 Mon Sep 17 00:00:00 2001 From: Kris Bitney Date: Wed, 15 Mar 2023 03:28:23 +0530 Subject: [PATCH 10/25] fixed tests for simplify provider interface PR (#48) * simplify provider interface - tests passing * chore: fix chain id parse in polywrap signer new method --------- Co-authored-by: Cesar --- .github/workflows/wrapper-ci.yaml | 8 ++++ provider/implementations/js/src/index.ts | 2 +- wrapper/deployment.json | 2 +- wrapper/src/polywrap_provider/signer.rs | 29 ++++++------ wrapper/tests/e2e.spec.ts | 33 ++++++-------- wrapper/tests/types/polywrap.yaml | 2 +- wrapper/tests/utils/infra.ts | 11 +++-- wrapper/tests/utils/storage.ts | 4 +- wrapper/yarn.lock | 58 ++++++++++++------------ 9 files changed, 79 insertions(+), 70 deletions(-) diff --git a/.github/workflows/wrapper-ci.yaml b/.github/workflows/wrapper-ci.yaml index 3041b53..b1f8d37 100644 --- a/.github/workflows/wrapper-ci.yaml +++ b/.github/workflows/wrapper-ci.yaml @@ -24,6 +24,14 @@ jobs: with: node-version: '${{ steps.nvm.outputs.NVMRC }}' + - name: Install dependencies of provider + run: yarn install --nonInteractive --frozen-lockfile --prefer-offline + working-directory: ./provider/implementations/js + + - name: Build provider + run: yarn build + working-directory: ./provider/implementations/js + - name: Install dependencies run: yarn install --nonInteractive --frozen-lockfile --prefer-offline working-directory: ./wrapper diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 0bf0b11..a006f78 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -39,7 +39,7 @@ export class EthereumProviderPlugin extends Module { // Optimizations, utilizing the cache within ethers if (args.method === "eth_chainId") { const network = await provider.getNetwork(); - return network.chainId.toString(); + return JSON.stringify("0x" + network.chainId.toString(16)); } try { diff --git a/wrapper/deployment.json b/wrapper/deployment.json index e8f7378..53073be 100644 --- a/wrapper/deployment.json +++ b/wrapper/deployment.json @@ -6,7 +6,7 @@ "name": "ipfs_deploy", "id": "deploy.ipfs_deploy", "input": "wrap://fs/./build", - "result": "wrap://ipfs/QmbnAG8iCdVMPQK8tQ5qqFwLKjaLF8BUuuLYiozj7mLF8Y" + "result": "wrap://ipfs/QmXHurYGM5gJCYoGYxgPKfq5QZcEpuH4Yfv43rM98q3Exj" } ] } diff --git a/wrapper/src/polywrap_provider/signer.rs b/wrapper/src/polywrap_provider/signer.rs index cb5a968..34ae818 100644 --- a/wrapper/src/polywrap_provider/signer.rs +++ b/wrapper/src/polywrap_provider/signer.rs @@ -1,6 +1,7 @@ -use crate::wrap::imported::{ArgsSignerAddress, ArgsSignMessage, ArgsSignTransaction, ArgsRequest}; -use crate::wrap::{ProviderModule, ProviderConnection, Connection}; +use crate::wrap::imported::{ArgsRequest, ArgsSignMessage, ArgsSignTransaction, ArgsSignerAddress}; +use crate::wrap::{Connection, ProviderConnection, ProviderModule}; use ethers_core::types::{Address, Signature}; +use polywrap_wasm_rs::{JSON}; use std::str::FromStr; use thiserror::Error; @@ -28,20 +29,22 @@ impl PolywrapSigner { network_name_or_chain_id: conn.network_name_or_chain_id.clone(), node: conn.node.clone(), }); + let address = ProviderModule::signer_address(&ArgsSignerAddress { - connection: iprovider_connection.clone() - }).unwrap().unwrap(); - let chain_id = ProviderModule::request(&ArgsRequest { + connection: iprovider_connection.clone(), + }) + .unwrap() + .unwrap(); + let chain_id: JSON::Value = ProviderModule::request(&ArgsRequest { method: "eth_chainId".to_string(), params: None, - connection: iprovider_connection.clone() + connection: iprovider_connection.clone(), }) - .expect("failed to obtain signer chain id from provider plugin"); + .expect("failed to obtain signer chain id from provider plugin"); + let chain_id = chain_id.as_str().unwrap(); Self { address: Address::from_str(&address.as_str()).unwrap(), - chain_id: u64::from_str( - serde_json::to_string(&chain_id).unwrap().as_str() - ).unwrap(), + chain_id: u64::from_str_radix(&chain_id[2..], 16).unwrap(), connection: iprovider_connection, } } @@ -49,7 +52,7 @@ impl PolywrapSigner { pub(super) fn sign_rlp(&self, rlp: Vec) -> Result { let signature = ProviderModule::sign_transaction(&ArgsSignTransaction { rlp, - connection: self.connection.clone() + connection: self.connection.clone(), })?; Ok(Signature::from_str(&signature).unwrap()) } @@ -57,7 +60,7 @@ impl PolywrapSigner { pub(super) fn sign_bytes(&self, message: Vec) -> Result { let signature = ProviderModule::sign_message(&ArgsSignMessage { message, - connection: self.connection.clone() + connection: self.connection.clone(), })?; Ok(Signature::from_str(&signature).unwrap()) } @@ -70,4 +73,4 @@ impl PolywrapSigner { pub fn chain_id(&self) -> u64 { self.chain_id } -} \ No newline at end of file +} diff --git a/wrapper/tests/e2e.spec.ts b/wrapper/tests/e2e.spec.ts index 468d8b2..7cc530c 100644 --- a/wrapper/tests/e2e.spec.ts +++ b/wrapper/tests/e2e.spec.ts @@ -1,6 +1,4 @@ -import { ClientConfigBuilder, PolywrapClient } from "@polywrap/client-js"; -import { ensResolverPlugin } from "@polywrap/ens-resolver-plugin-js"; -import {ensAddresses, providers} from "@polywrap/test-env-js"; +import {ClientConfigBuilder, PolywrapClient} from "@polywrap/client-js"; import { Connection, Connections, ethereumProviderPlugin } from "@polywrap/ethereum-provider-js"; import { ethers, Wallet } from "ethers"; @@ -15,6 +13,7 @@ import { addStructToStorage, setPrimitiveToStorage, } from "./utils/storage"; +import {ETH_ENS_IPFS_MODULE_CONSTANTS} from "polywrap"; const { hash: namehash } = require("eth-ens-namehash"); const contracts = { @@ -51,25 +50,28 @@ describe("Ethereum Wrapper", () => { const wrapperPath: string = path.join(dirname, ".."); const uri = `fs/${wrapperPath}/build`; + const ethProviderPluginUri = "wrap://ens/wraps.eth:ethereum-provider@2.0.0"; + beforeAll(async () => { await initInfra(); - ensAddress = ensAddresses.ensAddress.toLowerCase(); - registrarAddress = ensAddresses.registrarAddress.toLowerCase(); + ensAddress = ETH_ENS_IPFS_MODULE_CONSTANTS.ensAddresses.ensAddress.toLowerCase(); + registrarAddress = ETH_ENS_IPFS_MODULE_CONSTANTS.ensAddresses.registrarAddress.toLowerCase(); const config = new ClientConfigBuilder() .addDefaults() + .addEnv( + "ens/wraps.eth:ens-uri-resolver-ext@1.0.0", + { + registryAddress: ensAddress, + }, + ) .addPackages({ - "wrap://ens/ens-resolver.polywrap.eth": ensResolverPlugin({ - addresses: { - testnet: ensAddress, - }, - }), - "wrap://package/ethereum-provider": ethereumProviderPlugin({ + [ethProviderPluginUri]: ethereumProviderPlugin({ connections: new Connections({ networks: { testnet: new Connection({ - provider: providers.ethereum, + provider: ETH_ENS_IPFS_MODULE_CONSTANTS.ethereumProvider, signer: new Wallet( "0x4f3edf983ac636a65a842ce7c78d9aa706d3b113bce9c46f30d7d21715b23b1d" ), @@ -79,10 +81,6 @@ describe("Ethereum Wrapper", () => { }) }) }) - .addInterfaceImplementation( - "wrap://ens/wraps.eth:ethereum-provider@1.1.0", - "wrap://package/ethereum-provider" - ) .build(); client = new PolywrapClient(config); @@ -113,7 +111,6 @@ describe("Ethereum Wrapper", () => { const response = await client.invoke({ uri, method: "getChainId", - args: {}, }); if (!response.ok) throw response.error; @@ -512,7 +509,7 @@ describe("Ethereum Wrapper", () => { for (let i = 0; i < confirmations; i++) { await client.invoke({ - uri: "wrap://package/ethereum-provider", + uri: ethProviderPluginUri, method: "request", args: { method: "evm_mine" } }); diff --git a/wrapper/tests/types/polywrap.yaml b/wrapper/tests/types/polywrap.yaml index f10e17a..e802124 100644 --- a/wrapper/tests/types/polywrap.yaml +++ b/wrapper/tests/types/polywrap.yaml @@ -5,5 +5,5 @@ project: source: schema: ../../src/schema.graphql import_abis: - - uri: wrap://ens/wraps.eth:ethereum-provider@1.1.0 + - uri: "wrap://ens/wraps.eth:ethereum-provider@2.0.0" abi: ../../../provider/interface/src/schema.graphql diff --git a/wrapper/tests/utils/infra.ts b/wrapper/tests/utils/infra.ts index 9c2c051..38d2bb9 100644 --- a/wrapper/tests/utils/infra.ts +++ b/wrapper/tests/utils/infra.ts @@ -1,11 +1,12 @@ -import { runCLI, ensAddresses } from "@polywrap/test-env-js"; +import { runCli } from "@polywrap/cli-js"; import axios from "axios"; +import {ETH_ENS_IPFS_MODULE_CONSTANTS} from "polywrap"; export const initInfra = async (cli?: string): Promise => { // Start the test environment - const { exitCode, stderr, stdout } = await runCLI({ + const { exitCode, stderr, stdout } = await runCli({ args: ["infra", "up", "--verbose"], - cli, + config: { cli }, }); if (exitCode) { @@ -51,7 +52,7 @@ export const initInfra = async (cli?: string): Promise => { "post", 2000, 20000, - `{"jsonrpc":"2.0","method":"eth_getCode","params":["${ensAddresses.ensAddress}", "0x2"],"id":1}` + `{"jsonrpc":"2.0","method":"eth_getCode","params":["${ETH_ENS_IPFS_MODULE_CONSTANTS.ensAddresses.ensAddress}", "0x2"],"id":1}` ); if (!success) { @@ -60,7 +61,7 @@ export const initInfra = async (cli?: string): Promise => { }; export async function stopInfra(): Promise { - const { exitCode, stderr, stdout } = await runCLI({ + const { exitCode, stderr, stdout } = await runCli({ args: ["infra", "down", "--verbose"] }); diff --git a/wrapper/tests/utils/storage.ts b/wrapper/tests/utils/storage.ts index 6b8602e..1a8a7a4 100644 --- a/wrapper/tests/utils/storage.ts +++ b/wrapper/tests/utils/storage.ts @@ -1,6 +1,6 @@ import { Connection } from "@polywrap/ethereum-provider-js"; import { ContractFactory, Contract, Signer, ethers } from "ethers"; -import { providers } from "@polywrap/test-env-js"; +import {ETH_ENS_IPFS_MODULE_CONSTANTS} from "polywrap"; export async function deployStorage( abi: string[], @@ -48,6 +48,6 @@ export async function setPrimitiveToStorage( } function getSigner(): Signer { - const connection = new Connection({ provider: providers.ethereum }); + const connection = new Connection({ provider: ETH_ENS_IPFS_MODULE_CONSTANTS.ethereumProvider }); return connection.getSigner(); } diff --git a/wrapper/yarn.lock b/wrapper/yarn.lock index a47195e..8e7a07f 100644 --- a/wrapper/yarn.lock +++ b/wrapper/yarn.lock @@ -33,32 +33,32 @@ integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" - integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.3.tgz#cf1c877284a469da5d1ce1d1e53665253fae712e" + integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.0" + "@babel/generator" "^7.21.3" "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.0" + "@babel/helper-module-transforms" "^7.21.2" "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.0" + "@babel/parser" "^7.21.3" "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" + "@babel/traverse" "^7.21.3" + "@babel/types" "^7.21.3" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.2" semver "^6.3.0" -"@babel/generator@^7.21.0", "@babel/generator@^7.21.1": - version "7.21.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" - integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== +"@babel/generator@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.3.tgz#232359d0874b392df04045d72ce2fd9bb5045fce" + integrity sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA== dependencies: - "@babel/types" "^7.21.0" + "@babel/types" "^7.21.3" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -101,7 +101,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.21.0": +"@babel/helper-module-transforms@^7.21.2": version "7.21.2" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== @@ -167,10 +167,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" - integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3" + integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -265,26 +265,26 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" - integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.3.tgz#4747c5e7903d224be71f90788b06798331896f67" + integrity sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.1" + "@babel/generator" "^7.21.3" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.21.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.2" - "@babel/types" "^7.21.2" + "@babel/parser" "^7.21.3" + "@babel/types" "^7.21.3" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" - integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.3.tgz#4865a5357ce40f64e3400b0f3b737dc6d4f64d05" + integrity sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg== dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" From 4fdedd8bb471698b28c3798b6db85d41b4b33cd0 Mon Sep 17 00:00:00 2001 From: Cesar Date: Tue, 14 Mar 2023 20:20:49 +0100 Subject: [PATCH 11/25] feat: handle getTransactionCount and sendTransaction rpc methods --- provider/implementations/js/src/Connection.ts | 13 +++ provider/implementations/js/src/index.ts | 94 +++++++++++++++---- 2 files changed, 87 insertions(+), 20 deletions(-) diff --git a/provider/implementations/js/src/Connection.ts b/provider/implementations/js/src/Connection.ts index 3735955..34aa32b 100644 --- a/provider/implementations/js/src/Connection.ts +++ b/provider/implementations/js/src/Connection.ts @@ -19,6 +19,11 @@ export interface ConnectionConfig { signer?: EthereumSigner; } +export enum SignerType { + CUSTOM_SIGNER, + PROVIDER_SIGNER +} + export class Connection { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore: initialized within setProvider @@ -112,4 +117,12 @@ export class Connection { ); } } + + public getSignerType(): SignerType { + if (Signer.isSigner(this._config.signer)) { + return SignerType.CUSTOM_SIGNER + } + + return SignerType.PROVIDER_SIGNER + } } diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index a006f78..9ef51f8 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -10,7 +10,7 @@ import { Args_signerAddress, } from "./wrap"; import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; -import { Connection } from "./Connection"; +import { Connection, SignerType } from "./Connection"; import { Connections } from "./Connections"; import { ethers } from "ethers"; export * from "./Connection"; @@ -24,7 +24,7 @@ export class EthereumProviderPlugin extends Module { private _connections: Connections; constructor(config: ProviderConfig) { - super(config) + super(config); this._connections = config.connections; } @@ -42,6 +42,51 @@ export class EthereumProviderPlugin extends Module { return JSON.stringify("0x" + network.chainId.toString(16)); } + if (args.method === "eth_getTransactionCount") { + try { + const signer = await connection.getSigner(); + const nonce = await signer.getTransactionCount("latest"); + return "0x" + nonce.toString(16); + } catch (_) { + return "0x0"; + } + } + + if (args.method === "eth_sendTransaction") { + if (params.length < 1) { + throw new Error( + "Parameters must be given in eth_sendTransaction method" + ); + } + + const [transaction] = params; + if (connection.getSignerType() == SignerType.CUSTOM_SIGNER) { + const signer = await connection.getSigner(); + + // Ethers.js expects "0" | "1" | "2" + // but it's being received as hex (e.g: "0x02") + if ("type" in transaction) { + transaction.type = parseInt(transaction.type); + } + + // Ethers.js expects `gasLimit` instead of `gas` + if ("gas" in transaction) { + transaction.gasLimit = transaction.gas; + delete transaction.gas; + } + + const req = await signer.sendTransaction(transaction); + return JSON.stringify(req.hash); + } + } + + // if (args.method === "eth_signTypedData") { + // if (connection.isPrivateKeySigner()) { + // const req = await provider.send("eth_sendRawTransaction", params); + // return JSON.stringify(req); + // } + // } + try { const req = await provider.send(args.method, params); return JSON.stringify(req); @@ -52,17 +97,14 @@ export class EthereumProviderPlugin extends Module { * as 0x02, but metamask expects it as 0x2, * hence, the need of this workaround. Related: * https://github.com/MetaMask/metamask-extension/issues/18076 - * + * * We check if the parameters comes as array, if the error * contains 0x2 and if the type is 0x02, then we change it */ const paramsIsArray = Array.isArray(params) && params.length > 0; - const messageContains0x2 = err && err.message && err.message.indexOf("0x2") > -1; - if ( - messageContains0x2 && - paramsIsArray && - params[0].type === "0x02" - ) { + const messageContains0x2 = + err && err.message && err.message.indexOf("0x2") > -1; + if (messageContains0x2 && paramsIsArray && params[0].type === "0x02") { params[0].type = "0x2"; const req = await provider.send(args.method, params); return JSON.stringify(req); @@ -116,27 +158,36 @@ export class EthereumProviderPlugin extends Module { const request = this._parseTransaction(args.rlp); const signedTxHex = await connection.getSigner().signTransaction(request); const signedTx = ethers.utils.parseTransaction(signedTxHex); - return ethers.utils.joinSignature(signedTx as { r: string; s: string; v: number | undefined }); + return ethers.utils.joinSignature( + signedTx as { r: string; s: string; v: number | undefined } + ); } - private async _getConnection(connection?: SchemaConnection | null): Promise { - return this._connections.getConnection( - connection ?? this.env.connection - ); + private async _getConnection( + connection?: SchemaConnection | null + ): Promise { + return this._connections.getConnection(connection ?? this.env.connection); } - private _parseTransaction(rlp: Uint8Array): ethers.providers.TransactionRequest { + private _parseTransaction( + rlp: Uint8Array + ): ethers.providers.TransactionRequest { const tx = ethers.utils.parseTransaction(rlp); // r, s, v can sometimes be set to 0, but ethers will throw if the keys exist at all - let request: Record = { ...tx, r: undefined, s: undefined, v: undefined }; + let request: Record = { + ...tx, + r: undefined, + s: undefined, + v: undefined, + }; // remove undefined and null values request = Object.keys(request).reduce((prev, curr) => { const val = request[curr]; - if (val !== undefined && val !== null) prev[curr] = val + if (val !== undefined && val !== null) prev[curr] = val; return prev; - }, {} as Record) + }, {} as Record); return request; } @@ -144,7 +195,10 @@ export class EthereumProviderPlugin extends Module { export const ethereumProviderPlugin: PluginFactory = ( config: ProviderConfig -) => new PluginPackage(new EthereumProviderPlugin(config), manifest); +) => + new PluginPackage( + new EthereumProviderPlugin(config), + manifest + ); export const plugin = ethereumProviderPlugin; - From b13edd07007939f10e82cae9a58dc6507ffc0b89 Mon Sep 17 00:00:00 2001 From: Cesar Date: Wed, 15 Mar 2023 00:51:49 +0100 Subject: [PATCH 12/25] feat(provider): handle sign typed data & fix get nonce method --- provider/implementations/js/src/index.ts | 32 ++++++++++++++++++------ 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 9ef51f8..dcbba66 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -46,7 +46,7 @@ export class EthereumProviderPlugin extends Module { try { const signer = await connection.getSigner(); const nonce = await signer.getTransactionCount("latest"); - return "0x" + nonce.toString(16); + return JSON.stringify("0x" + nonce.toString(16)); } catch (_) { return "0x0"; } @@ -80,12 +80,30 @@ export class EthereumProviderPlugin extends Module { } } - // if (args.method === "eth_signTypedData") { - // if (connection.isPrivateKeySigner()) { - // const req = await provider.send("eth_sendRawTransaction", params); - // return JSON.stringify(req); - // } - // } + if (args.method === "eth_signTypedData") { + if (params.length < 2) { + throw new Error( + "Address & TypedData must be given in eth_signTypedData method" + ); + } + if (connection.getSignerType() == SignerType.CUSTOM_SIGNER) { + const signer = await connection.getSigner() + let signature = ""; + // This is a hack because in ethers v5.7 this method is experimental + // when when we update to ethers v6 this wont be needed. More info: + // https://github.com/ethers-io/ethers.js/blob/ec1b9583039a14a0e0fa15d0a2a6082a2f41cf5b/packages/abstract-signer/src.ts/index.ts#L53 + if ("_signTypedData" in signer) { + const [_, data] = params + // @ts-ignore + signature = await signer._signTypedData( + data.domain, + data.types, + data.message + ) + } + return JSON.stringify(signature) + } + } try { const req = await provider.send(args.method, params); From 369ba4a1d165cdcd775721ec28bc514892b870c3 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Wed, 15 Mar 2023 01:20:50 -0400 Subject: [PATCH 13/25] chore: improve custom RPC handlers --- provider/implementations/js/src/index.ts | 107 +++++++++----------- provider/implementations/js/src/rpc.ts | 120 +++++++++++++++++++++++ 2 files changed, 166 insertions(+), 61 deletions(-) create mode 100644 provider/implementations/js/src/rpc.ts diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index dcbba66..7f7ccae 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -9,10 +9,16 @@ import { Connection as SchemaConnection, Args_signerAddress, } from "./wrap"; -import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; import { Connection, SignerType } from "./Connection"; import { Connections } from "./Connections"; +import { + eth_sendTransaction, + eth_signTypedData +} from "./rpc"; + +import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; import { ethers } from "ethers"; + export * from "./Connection"; export * from "./Connections"; @@ -33,7 +39,7 @@ export class EthereumProviderPlugin extends Module { _client: CoreClient ): Promise { const connection = await this._getConnection(args.connection); - const params = JSON.parse(args?.params ?? "[]"); + const params = args?.params ?? "[]"; const provider = connection.getProvider(); // Optimizations, utilizing the cache within ethers @@ -42,71 +48,50 @@ export class EthereumProviderPlugin extends Module { return JSON.stringify("0x" + network.chainId.toString(16)); } - if (args.method === "eth_getTransactionCount") { - try { - const signer = await connection.getSigner(); - const nonce = await signer.getTransactionCount("latest"); - return JSON.stringify("0x" + nonce.toString(16)); - } catch (_) { - return "0x0"; - } + if ( + args.method === "eth_sendTransaction" && + connection.getSignerType() == SignerType.CUSTOM_SIGNER + ) { + const signer = await connection.getSigner(); + const parameters = eth_sendTransaction.deserializeParameters( + params + ); + const request = eth_sendTransaction.toEthers( + parameters[0] + ); + const res = await signer.sendTransaction(request); + return JSON.stringify(res.hash); } - if (args.method === "eth_sendTransaction") { - if (params.length < 1) { - throw new Error( - "Parameters must be given in eth_sendTransaction method" - ); - } - - const [transaction] = params; - if (connection.getSignerType() == SignerType.CUSTOM_SIGNER) { - const signer = await connection.getSigner(); - - // Ethers.js expects "0" | "1" | "2" - // but it's being received as hex (e.g: "0x02") - if ("type" in transaction) { - transaction.type = parseInt(transaction.type); - } - - // Ethers.js expects `gasLimit` instead of `gas` - if ("gas" in transaction) { - transaction.gasLimit = transaction.gas; - delete transaction.gas; - } - - const req = await signer.sendTransaction(transaction); - return JSON.stringify(req.hash); - } - } - - if (args.method === "eth_signTypedData") { - if (params.length < 2) { - throw new Error( - "Address & TypedData must be given in eth_signTypedData method" - ); - } - if (connection.getSignerType() == SignerType.CUSTOM_SIGNER) { - const signer = await connection.getSigner() - let signature = ""; - // This is a hack because in ethers v5.7 this method is experimental - // when when we update to ethers v6 this wont be needed. More info: - // https://github.com/ethers-io/ethers.js/blob/ec1b9583039a14a0e0fa15d0a2a6082a2f41cf5b/packages/abstract-signer/src.ts/index.ts#L53 - if ("_signTypedData" in signer) { - const [_, data] = params - // @ts-ignore - signature = await signer._signTypedData( - data.domain, - data.types, - data.message - ) - } - return JSON.stringify(signature) + if ( + args.method === "eth_signTypedData" && + connection.getSignerType() == SignerType.CUSTOM_SIGNER + ) { + const signer = await connection.getSigner(); + const parameters = eth_signTypedData.deserializeParameters( + params + ); + let signature = ""; + // This is a hack because in ethers v5.7 this method is experimental + // when when we update to ethers v6 this wont be needed. More info: + // https://github.com/ethers-io/ethers.js/blob/ec1b9583039a14a0e0fa15d0a2a6082a2f41cf5b/packages/abstract-signer/src.ts/index.ts#L53 + if ("_signTypedData" in signer) { + const [_, data] = parameters + // @ts-ignore + signature = await signer._signTypedData( + data.domain, + data.types, + data.message + ) } + return JSON.stringify(signature) } try { - const req = await provider.send(args.method, params); + const req = await provider.send( + args.method, + JSON.parse(params) + ); return JSON.stringify(req); } catch (err) { /** diff --git a/provider/implementations/js/src/rpc.ts b/provider/implementations/js/src/rpc.ts new file mode 100644 index 0000000..81b0023 --- /dev/null +++ b/provider/implementations/js/src/rpc.ts @@ -0,0 +1,120 @@ +import ethers from "ethers"; + +// Ref: https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction +export namespace eth_sendTransaction { + export interface Transaction { + // DATA, 20 Bytes - The address the transaction is sent from. + from: string; + // DATA, 20 Bytes - (optional when creating new contract) The address the transaction is directed to. + to?: string; + // QUANTITY - (optional, default: 90000) Integer of the gas provided for the transaction execution. It will return unused gas. + gas?: string; + // QUANTITY - (optional, default: To-Be-Determined) Integer of the gasPrice used for each paid gas. + gasPrice?: string; + // QUANTITY - (optional) Integer of the value sent with this transaction. + value?: string; + // DATA - The compiled code of a contract OR the hash of the invoked method signature and encoded parameters. + data: string; + // QUANTITY - (optional) Integer of a nonce. This allows to overwrite your own pending transactions that use the same nonce. + nonce?: string; + } + + export type Parameters = [Transaction]; + + // DATA, 32 Bytes - the transaction hash, or the zero hash if the transaction is not yet available. + export type Returns = string; + + export function deserializeParameters(input: string): Parameters { + const params = JSON.parse(input); + if (params.length < 1 || typeof params[0] !== "object") { + throw new Error( + "Invalid JSON-RPC parameters provided for eth_sendTransaction method. Reference: " + + "https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction" + ); + } + + const transaction: Transaction = params[0]; + + if (!transaction.from) { + throw new Error( + "The 'from' property on the transaction object parameter is required for the eth_sendTransaction method. Reference: " + + "https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction" + ); + } + + if (!transaction.data) { + throw new Error( + "The 'data' property on the transaction object parameter is required for the eth_sendTransaction method. Reference: " + + "https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction" + ); + } + + return [transaction]; + } + + export function toEthers( + transaction: Transaction + ): ethers.providers.TransactionRequest { + const result: ethers.providers.TransactionRequest = { + ...transaction, + // Ethers.js expects `gasLimit` instead of `gas` + gasLimit: transaction.gas + }; + + // Ethers.js expects "0" | "1" | "2" + // but it's being received as hex (e.g: "0x02") + if ("type" in transaction) { + result.type = parseInt( + (transaction as unknown as Record).type + ); + } + + return result; + } +} + +// Ref: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md +export namespace eth_signTypedData { + export interface TypedData { + types: { + EIP712Domain: unknown[]; + [key: string]: { + name: string; + type: string; + [key: string]: unknown; + }[] | unknown; + }; + primaryType: string; + domain: { [key: string]: unknown }; + message: { [key: string]: unknown }; + [key: string]: unknown; + } + + export type Parameters = [ + // Address - 20 Bytes - Address of the account that will sign the messages. + string, + // TypedData - Typed structured data to be signed. + TypedData + ]; + + // DATA, 129 Bytes - the signature, as described here: + // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md#returns + export type Returns = string; + + export function deserializeParameters(input: string): Parameters { + const params = JSON.parse(input); + if ( + params.length < 2 || + typeof params[0] !== "string" || + typeof params[1] !== "object" + ) { + throw new Error( + "Invalid JSON-RPC parameters provided for eth_signTypedData method. Reference: " + + "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md#parameters" + ); + } + + return params; + } +} + From 05963f8ace157a27affd36590f32e3d47cc8d7b1 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Wed, 15 Mar 2023 02:05:40 -0400 Subject: [PATCH 14/25] chore: fix CI --- provider/implementations/js/src/index.ts | 36 +++++------------------- provider/implementations/js/src/rpc.ts | 2 ++ wrapper/tests/e2e.spec.ts | 13 +++++++-- wrapper/tests/utils/storage.ts | 2 +- 4 files changed, 20 insertions(+), 33 deletions(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 7f7ccae..a7820a8 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -12,8 +12,7 @@ import { import { Connection, SignerType } from "./Connection"; import { Connections } from "./Connections"; import { - eth_sendTransaction, - eth_signTypedData + eth_sendTransaction } from "./rpc"; import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; @@ -39,13 +38,14 @@ export class EthereumProviderPlugin extends Module { _client: CoreClient ): Promise { const connection = await this._getConnection(args.connection); - const params = args?.params ?? "[]"; + const paramsStr = args?.params ?? "[]"; const provider = connection.getProvider(); // Optimizations, utilizing the cache within ethers if (args.method === "eth_chainId") { const network = await provider.getNetwork(); - return JSON.stringify("0x" + network.chainId.toString(16)); + const result = JSON.stringify("0x" + network.chainId.toString(16)); + return result; } if ( @@ -54,7 +54,7 @@ export class EthereumProviderPlugin extends Module { ) { const signer = await connection.getSigner(); const parameters = eth_sendTransaction.deserializeParameters( - params + paramsStr ); const request = eth_sendTransaction.toEthers( parameters[0] @@ -63,34 +63,12 @@ export class EthereumProviderPlugin extends Module { return JSON.stringify(res.hash); } - if ( - args.method === "eth_signTypedData" && - connection.getSignerType() == SignerType.CUSTOM_SIGNER - ) { - const signer = await connection.getSigner(); - const parameters = eth_signTypedData.deserializeParameters( - params - ); - let signature = ""; - // This is a hack because in ethers v5.7 this method is experimental - // when when we update to ethers v6 this wont be needed. More info: - // https://github.com/ethers-io/ethers.js/blob/ec1b9583039a14a0e0fa15d0a2a6082a2f41cf5b/packages/abstract-signer/src.ts/index.ts#L53 - if ("_signTypedData" in signer) { - const [_, data] = parameters - // @ts-ignore - signature = await signer._signTypedData( - data.domain, - data.types, - data.message - ) - } - return JSON.stringify(signature) - } + const params = JSON.parse(paramsStr); try { const req = await provider.send( args.method, - JSON.parse(params) + params ); return JSON.stringify(req); } catch (err) { diff --git a/provider/implementations/js/src/rpc.ts b/provider/implementations/js/src/rpc.ts index 81b0023..d4a62a3 100644 --- a/provider/implementations/js/src/rpc.ts +++ b/provider/implementations/js/src/rpc.ts @@ -61,6 +61,8 @@ export namespace eth_sendTransaction { gasLimit: transaction.gas }; + delete (result as unknown as Record).gas + // Ethers.js expects "0" | "1" | "2" // but it's being received as hex (e.g: "0x02") if ("type" in transaction) { diff --git a/wrapper/tests/e2e.spec.ts b/wrapper/tests/e2e.spec.ts index 7cc530c..f248417 100644 --- a/wrapper/tests/e2e.spec.ts +++ b/wrapper/tests/e2e.spec.ts @@ -1,5 +1,12 @@ -import {ClientConfigBuilder, PolywrapClient} from "@polywrap/client-js"; -import { Connection, Connections, ethereumProviderPlugin } from "@polywrap/ethereum-provider-js"; +import { + ClientConfigBuilder, + PolywrapClient +} from "@polywrap/client-js"; +import { + Connection, + Connections, + ethereumProviderPlugin +} from "../../provider/implementations/js"; import { ethers, Wallet } from "ethers"; import { keccak256 } from "js-sha3"; @@ -13,7 +20,7 @@ import { addStructToStorage, setPrimitiveToStorage, } from "./utils/storage"; -import {ETH_ENS_IPFS_MODULE_CONSTANTS} from "polywrap"; +import { ETH_ENS_IPFS_MODULE_CONSTANTS } from "polywrap"; const { hash: namehash } = require("eth-ens-namehash"); const contracts = { diff --git a/wrapper/tests/utils/storage.ts b/wrapper/tests/utils/storage.ts index 1a8a7a4..9d94674 100644 --- a/wrapper/tests/utils/storage.ts +++ b/wrapper/tests/utils/storage.ts @@ -1,4 +1,4 @@ -import { Connection } from "@polywrap/ethereum-provider-js"; +import { Connection } from "../../../provider/implementations/js"; import { ContractFactory, Contract, Signer, ethers } from "ethers"; import {ETH_ENS_IPFS_MODULE_CONSTANTS} from "polywrap"; From a715eb6cba8fa3b866f269407d7d7c537f9048be Mon Sep 17 00:00:00 2001 From: Cesar Date: Wed, 15 Mar 2023 22:58:06 +0100 Subject: [PATCH 15/25] feat: add sign typed data --- provider/implementations/js/src/index.ts | 28 ++++++++- provider/implementations/js/src/rpc.ts | 20 +++++++ .../implementations/js/tests/index.spec.ts | 59 ++++++++++++++++++- 3 files changed, 104 insertions(+), 3 deletions(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index a7820a8..ad757bc 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -12,7 +12,8 @@ import { import { Connection, SignerType } from "./Connection"; import { Connections } from "./Connections"; import { - eth_sendTransaction + eth_sendTransaction, + eth_signTypedData } from "./rpc"; import { PluginFactory, PluginPackage } from "@polywrap/plugin-js"; @@ -63,8 +64,31 @@ export class EthereumProviderPlugin extends Module { return JSON.stringify(res.hash); } + if ( + args.method === "eth_signTypedData" && + connection.getSignerType() == SignerType.CUSTOM_SIGNER + ) { + const signer = await connection.getSigner(); + const parameters = eth_signTypedData.deserializeParameters( + paramsStr + ); + let signature = ""; + // This is a hack because in ethers v5.7 this method is experimental + // when when we update to ethers v6 this wont be needed. More info: + // https://github.com/ethers-io/ethers.js/blob/ec1b9583039a14a0e0fa15d0a2a6082a2f41cf5b/packages/abstract-signer/src.ts/index.ts#L53 + if ("_signTypedData" in signer) { + const [_, data] = parameters + const payload = eth_signTypedData.toEthers(data) + // @ts-ignore + signature = await signer._signTypedData( + payload.domain, + payload.types, + payload.message + ) + } + return JSON.stringify(signature) + } const params = JSON.parse(paramsStr); - try { const req = await provider.send( args.method, diff --git a/provider/implementations/js/src/rpc.ts b/provider/implementations/js/src/rpc.ts index d4a62a3..bbfa212 100644 --- a/provider/implementations/js/src/rpc.ts +++ b/provider/implementations/js/src/rpc.ts @@ -118,5 +118,25 @@ export namespace eth_signTypedData { return params; } + + export type EthersTypedData = { + domain: TypedData["domain"] + types: { + [key: string]: unknown; + } + message: TypedData["message"] + }; + + export function toEthers( + typedData: TypedData + ): EthersTypedData { + let types: Omit = typedData.types; + delete types.EIP712Domain; + return { + domain: typedData.domain, + types, + message: typedData.message + } + } } diff --git a/provider/implementations/js/tests/index.spec.ts b/provider/implementations/js/tests/index.spec.ts index 43a5253..7152003 100644 --- a/provider/implementations/js/tests/index.spec.ts +++ b/provider/implementations/js/tests/index.spec.ts @@ -8,7 +8,6 @@ jest.setTimeout(360000); describe("Ethereum Plugin", () => { let client: PolywrapClient; let clientNoSigner: PolywrapClient; - const uri = "wrap://plugin/ethereum-provider"; beforeAll(async () => { @@ -126,5 +125,63 @@ describe("Ethereum Plugin", () => { expect(response.value).toBeDefined(); expect(response.value).toBe("0xeb91a997a865e2e4a48c098ea519666ed7fa5d9922f4e7e9b6838dc18ecfdab03a568682c3f0a4cb6b78ef0f601117a0de9848c089c94c01f782f067404c1eae1b"); }); + + it("signTypedData", async () => { + const domain = { + name: 'Ether Mail', + version: '1', + chainId: 1, + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC' + }; + + // The named list of all type definitions + const types = { + EIP712Domain: [ + { + type: "uint256", + name: "chainId", + }, + { + type: "address", + name: "verifyingContract", + }, + ], + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallet', type: 'address' } + ], + Mail: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person' }, + { name: 'contents', type: 'string' } + ] + }; + + // The data to sign + const message = { + from: { + name: 'Cow', + wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826' + }, + to: { + name: 'Bob', + wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB' + }, + contents: 'Hello, Bob!' + }; + + const response = await client.invoke({ + uri, + method: "request", + args: { + method: "eth_signTypedData", + params: JSON.stringify(["0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1", { domain, primaryType: 'Mail', types, message }]) + } + }); + if (!response.ok) fail(response.error); + expect(response.value).toBe( + "\"0x12bdd486cb42c3b3c414bb04253acfe7d402559e7637562987af6bd78508f38623c1cc09880613762cc913d49fd7d3c091be974c0dee83fb233300b6b58727311c\"" + ); + }); }); }); From 9988e57d856dd03f65d5a659aaaf224eb9730982 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Wed, 15 Mar 2023 19:47:42 -0400 Subject: [PATCH 16/25] chore: update wrapper-ci workflow --- .github/workflows/wrapper-ci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/wrapper-ci.yaml b/.github/workflows/wrapper-ci.yaml index b1f8d37..ef8aa0a 100644 --- a/.github/workflows/wrapper-ci.yaml +++ b/.github/workflows/wrapper-ci.yaml @@ -4,6 +4,8 @@ on: pull_request: paths: - "wrapper/**" + - "provider/interface/**" + - "provider/implementations/js/**" jobs: ci: From 4b94f74e33753c1c4abea683aa8fbc80fbdf4340 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Wed, 15 Mar 2023 19:49:28 -0400 Subject: [PATCH 17/25] chore: trigger CI --- provider/implementations/js/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/implementations/js/package.json b/provider/implementations/js/package.json index 90dd934..cd1172c 100644 --- a/provider/implementations/js/package.json +++ b/provider/implementations/js/package.json @@ -42,4 +42,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file From 12bd7c9475c610292da2ef064ef94e307df16cd7 Mon Sep 17 00:00:00 2001 From: krisbitney Date: Thu, 16 Mar 2023 11:38:40 +0530 Subject: [PATCH 18/25] added eth_encodePacked RPC method to provider plugin and modernized testnet examples used in connections.spec.ts --- provider/implementations/js/src/index.ts | 30 +++------ provider/implementations/js/src/rpc.ts | 33 ++++++++++ .../js/tests/connection.spec.ts | 2 +- .../js/tests/connections.spec.ts | 22 +++---- .../implementations/js/tests/index.spec.ts | 64 +++++++++++++++++-- 5 files changed, 111 insertions(+), 40 deletions(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 3f29f62..606c250 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -12,6 +12,7 @@ import { import { Connection, SignerType } from "./Connection"; import { Connections } from "./Connections"; import { + eth_encodePacked, eth_sendTransaction, eth_signTypedData } from "./rpc"; @@ -45,8 +46,7 @@ export class EthereumProviderPlugin extends Module { // Optimizations, utilizing the cache within ethers if (args.method === "eth_chainId") { const network = await provider.getNetwork(); - const result = JSON.stringify("0x" + network.chainId.toString(16)); - return result; + return JSON.stringify("0x" + network.chainId.toString(16)); } if ( @@ -74,7 +74,7 @@ export class EthereumProviderPlugin extends Module { ); let signature = ""; // This is a hack because in ethers v5.7 this method is experimental - // when when we update to ethers v6 this wont be needed. More info: + // when we update to ethers v6 this won't be needed. More info: // https://github.com/ethers-io/ethers.js/blob/ec1b9583039a14a0e0fa15d0a2a6082a2f41cf5b/packages/abstract-signer/src.ts/index.ts#L53 if ("_signTypedData" in signer) { const [_, data] = parameters @@ -88,6 +88,12 @@ export class EthereumProviderPlugin extends Module { } return JSON.stringify(signature) } + + if (args.method === "eth_encodePacked") { + const params = eth_encodePacked.deserializeParameters(paramsStr); + return ethers.utils.solidityPack(params.types, params.values); + } + const params = JSON.parse(paramsStr); try { const req = await provider.send( @@ -168,24 +174,6 @@ export class EthereumProviderPlugin extends Module { ); } - public async solidityPack(args: Args_solidityPack): Promise { - return ethers.utils.solidityPack(args.types, this.parseArgs(args.values)); - } - - private parseArgs(args?: string[] | null): unknown[] { - if (!args) { - return []; - } - - return args.map((arg: string) => - (arg.startsWith("[") && arg.endsWith("]")) || - (arg.startsWith("{") && arg.endsWith("}")) - ? JSON.parse(arg) - : arg - ); - } - - private async _getConnection( connection?: SchemaConnection | null ): Promise { diff --git a/provider/implementations/js/src/rpc.ts b/provider/implementations/js/src/rpc.ts index bbfa212..800146c 100644 --- a/provider/implementations/js/src/rpc.ts +++ b/provider/implementations/js/src/rpc.ts @@ -140,3 +140,36 @@ export namespace eth_signTypedData { } } +export namespace eth_encodePacked { + export function deserializeParameters(paramsStr: string): { types: string[], values: unknown[] } { + const params = JSON.parse(paramsStr); + if ( + "types" in params && "values" in params + && Array.isArray(params.types) && Array.isArray(params.values) + && typeof params.types[0] === "string" + ) { + return { + types: params.types, + values: parseValues(params.values) + }; + } + + throw new Error( + "Invalid JSON-RPC parameters provided for eth_encodePacked method. " + + "Expected JSON of the form: { types: string[], values: string[] }" + ); + } + + function parseValues(values?: string[] | null): unknown[] { + if (!values) { + return []; + } + + return values.map((arg: string) => + (arg.startsWith("[") && arg.endsWith("]")) || + (arg.startsWith("{") && arg.endsWith("}")) + ? JSON.parse(arg) + : arg + ); + } +} \ No newline at end of file diff --git a/provider/implementations/js/tests/connection.spec.ts b/provider/implementations/js/tests/connection.spec.ts index 803c18d..56b3477 100644 --- a/provider/implementations/js/tests/connection.spec.ts +++ b/provider/implementations/js/tests/connection.spec.ts @@ -5,7 +5,7 @@ import { Wallet } from "ethers"; jest.setTimeout(600000); -type BasicNetwork = "mainnet" | "rinkeby" | "ropsten" | "goerli" | "kovan"; +type BasicNetwork = "mainnet" | "goerli" | "sepolia"; const getRpcUri = (network: BasicNetwork): string => { return `https://${network}.infura.io/v3/d119148113c047ca90f0311ed729c466`; diff --git a/provider/implementations/js/tests/connections.spec.ts b/provider/implementations/js/tests/connections.spec.ts index 9278842..092d92f 100644 --- a/provider/implementations/js/tests/connections.spec.ts +++ b/provider/implementations/js/tests/connections.spec.ts @@ -2,7 +2,7 @@ import { Connections, Connection } from "../src"; jest.setTimeout(10000); -type BasicNetwork = "mainnet" | "rinkeby" | "ropsten" | "goerli" | "kovan"; +type BasicNetwork = "mainnet" | "goerli" | "sepolia"; const getRpcUri = (network: BasicNetwork): string => { return `https://${network}.infura.io/v3/d119148113c047ca90f0311ed729c466`; @@ -15,7 +15,7 @@ describe("Connections Store", () => { beforeAll(async () => { - testnet = new Connection({ provider: getRpcUri("kovan") }); + testnet = new Connection({ provider: getRpcUri("sepolia") }); goerli = new Connection({ provider: getRpcUri("goerli") }); connections = new Connections({ networks: { testnet, goerli }, @@ -33,21 +33,21 @@ describe("Connections Store", () => { describe("set", () => { it("adds a new network", async () => { - const kovan = new Connection({ provider: getRpcUri("kovan") }); - expect(connections.get("kovan")).toBeUndefined(); - connections.set("kovan", kovan); - expect(connections.get("kovan")).toBe(kovan); + const sepolia = new Connection({ provider: getRpcUri("sepolia") }); + expect(connections.get("sepolia")).toBeUndefined(); + connections.set("sepolia", sepolia); + expect(connections.get("sepolia")).toBe(sepolia); }); it("adds new network by passing provider directly", async () => { - const rinkebyUri = getRpcUri("rinkeby"); - connections.set("rinkeby", rinkebyUri); - const providerUri = connections.get("rinkeby")?.getProvider().connection.url; - expect(providerUri).toEqual(rinkebyUri); + const goerliUri = getRpcUri("goerli"); + connections.set("goerli", goerliUri); + const providerUri = connections.get("goerli")?.getProvider().connection.url; + expect(providerUri).toEqual(goerliUri); }); it("replaces existing network", async () => { - const ropsten = new Connection({ provider: getRpcUri("ropsten") }); + const ropsten = new Connection({ provider: getRpcUri("goerli") }); connections.set("existingNetwork", ropsten); expect(connections.get("existingNetwork")).toBe(ropsten); connections.set("existingNetwork", goerli); diff --git a/provider/implementations/js/tests/index.spec.ts b/provider/implementations/js/tests/index.spec.ts index 7152003..1fb5aca 100644 --- a/provider/implementations/js/tests/index.spec.ts +++ b/provider/implementations/js/tests/index.spec.ts @@ -53,7 +53,7 @@ describe("Ethereum Plugin", () => { args: { method: "eth_chainId" } }); - if (response.ok === false) fail(response.error); + if (response.ok === false) throw response.error; expect(response.value).toBeDefined(); const res = BigNumber.from(JSON.parse(response.value)).toString(); @@ -70,7 +70,7 @@ describe("Ethereum Plugin", () => { } }); - if (response.ok === false) fail(response.error); + if (response.ok === false) throw response.error; expect(response.value).toBeDefined(); expect(BigNumber.from(JSON.parse(response.value)).gt(0)).toBe(true); }); @@ -81,7 +81,7 @@ describe("Ethereum Plugin", () => { method: "signerAddress", }); - if (response.ok === false) fail(response.error); + if (response.ok === false) throw response.error; expect(response.value).toBeDefined(); expect(response.value?.startsWith("0x")).toBe(true); @@ -93,7 +93,7 @@ describe("Ethereum Plugin", () => { method: "signerAddress", }); - if (response.ok === false) fail(response.error); + if (response.ok === false) throw response.error; expect(response.value).toBeDefined(); expect(response.value).toBe(null); }); @@ -106,7 +106,7 @@ describe("Ethereum Plugin", () => { args: { message }, }); - if (response.ok === false) fail(response.error); + if (response.ok === false) throw response.error; expect(response.value).toBeDefined(); expect(response.value).toBe("0xa4708243bf782c6769ed04d83e7192dbcf4fc131aa54fde9d889d8633ae39dab03d7babd2392982dff6bc20177f7d887e27e50848c851320ee89c6c63d18ca761c"); @@ -120,7 +120,7 @@ describe("Ethereum Plugin", () => { args: { rlp }, }); - if (response.ok === false) fail(response.error); + if (response.ok === false) throw response.error; expect(response.value).toBeDefined(); expect(response.value).toBe("0xeb91a997a865e2e4a48c098ea519666ed7fa5d9922f4e7e9b6838dc18ecfdab03a568682c3f0a4cb6b78ef0f601117a0de9848c089c94c01f782f067404c1eae1b"); @@ -178,10 +178,60 @@ describe("Ethereum Plugin", () => { params: JSON.stringify(["0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1", { domain, primaryType: 'Mail', types, message }]) } }); - if (!response.ok) fail(response.error); + if (response.ok === false) throw response.error; expect(response.value).toBe( "\"0x12bdd486cb42c3b3c414bb04253acfe7d402559e7637562987af6bd78508f38623c1cc09880613762cc913d49fd7d3c091be974c0dee83fb233300b6b58727311c\"" ); }); + + describe("eth_encodePacked", () => { + it("should encode packed [int16, uint48]", async () => { + const response = await client.invoke({ + uri, + method: "request", + args: { + method: "eth_encodePacked", + params: JSON.stringify({ + types: [ "int16", "uint48" ], + values: [ "-1", "12" ] + }) + } + }); + if (response.ok === false) throw response.error; + expect(response.value).toEqual("0xffff00000000000c"); + }); + + it("should encode packed [uint256, uint256]", async () => { + const response = await client.invoke({ + uri, + method: "request", + args: { + method: "eth_encodePacked", + params: JSON.stringify({ + types: [ "uint256", "uint256" ], + values: [ "8", "16" ] + }) + } + }); + if (response.ok === false) throw response.error; + expect(response.value).toEqual("0x00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010"); + }); + + it("should encode packed [string, uint8]", async () => { + const response = await client.invoke({ + uri, + method: "request", + args: { + method: "eth_encodePacked", + params: JSON.stringify({ + types: [ "string", "uint8" ], + values: [ "Hello", "3" ] + }) + } + }); + if (response.ok === false) throw response.error; + expect(response.value).toEqual("0x48656c6c6f03"); + }); + }) }); }); From 72d72a06e26663f53c921648db38100cf09a08c4 Mon Sep 17 00:00:00 2001 From: Cesar Date: Thu, 16 Mar 2023 12:19:38 +0100 Subject: [PATCH 19/25] chore: wrapper uses signTypedData_v4 & tests with custom signer and provider plugin --- wrapper/package.json | 1 + wrapper/src/lib.rs | 2 +- wrapper/tests/e2e.spec.ts | 233 ++++++++++++++++++++++++-------------- wrapper/yarn.lock | 200 +++++++++++++++++++++++++++++++- 4 files changed, 345 insertions(+), 91 deletions(-) diff --git a/wrapper/package.json b/wrapper/package.json index c8adf49..cc09a3f 100644 --- a/wrapper/package.json +++ b/wrapper/package.json @@ -22,6 +22,7 @@ "axios": "0.27.2", "eth-ens-namehash": "2.0.8", "ethers": "5.7.2", + "ganache": "7.7.7", "jest": "26.6.3", "js-sha3": "0.8.0", "polywrap": "0.10.0-pre.12", diff --git a/wrapper/src/lib.rs b/wrapper/src/lib.rs index 9de2256..8f4c956 100644 --- a/wrapper/src/lib.rs +++ b/wrapper/src/lib.rs @@ -102,7 +102,7 @@ pub fn sign_typed_data(args: wrap::ArgsSignTypedData) -> String { let address_value = JSON::Value::String(format!("{:#x}", address)); let params = JSON::Value::Array(vec![address_value, args.payload]); let provider = PolywrapProvider::new(&args.connection); - provider.request_sync("eth_signTypedData", params).unwrap() + provider.request_sync("eth_signTypedData_v4", params).unwrap() } pub fn encode_params(input: wrap::ArgsEncodeParams) -> String { diff --git a/wrapper/tests/e2e.spec.ts b/wrapper/tests/e2e.spec.ts index f248417..07188ce 100644 --- a/wrapper/tests/e2e.spec.ts +++ b/wrapper/tests/e2e.spec.ts @@ -8,6 +8,7 @@ import { ethereumProviderPlugin } from "../../provider/implementations/js"; +import { provider as Web3MockProvider } from "ganache" import { ethers, Wallet } from "ethers"; import { keccak256 } from "js-sha3"; import * as path from 'path' @@ -47,7 +48,8 @@ const contracts = { jest.setTimeout(360000); describe("Ethereum Wrapper", () => { - let client: PolywrapClient; + let clientWithCustomSigner: PolywrapClient; + let clientWithWeb3Provider: PolywrapClient; let ensAddress: string; let registrarAddress: string; let viewMethodsAddress: string; @@ -88,11 +90,42 @@ describe("Ethereum Wrapper", () => { }) }) }) - .build(); - client = new PolywrapClient(config); + clientWithCustomSigner = new PolywrapClient(config.build()); + + const configWeb3Provider = new ClientConfigBuilder() + .addDefaults() + .addEnv( + "ens/wraps.eth:ens-uri-resolver-ext@1.0.0", + { + registryAddress: ensAddress, + }, + ) + .addPackages({ + [ethProviderPluginUri]: ethereumProviderPlugin({ + connections: new Connections({ + networks: { + testnet: new Connection({ + provider: Web3MockProvider({ + wallet: { + accounts: [ + { + balance: "0x100000000000000000000000000000", + secretKey: "0x4f3edf983ac636a65a842ce7c78d9aa706d3b113bce9c46f30d7d21715b23b1d" + } + ] + } + }) + }) + }, + defaultNetwork: "testnet", + }) + }) + }) - const response = await client.invoke({ + clientWithWeb3Provider = new PolywrapClient(configWeb3Provider.build()) + + const response = await clientWithCustomSigner.invoke({ uri, method: "deployContract", args: { @@ -115,7 +148,7 @@ describe("Ethereum Wrapper", () => { describe("Ethereum Wrapper", () => { it("chainId", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "getChainId", }); @@ -126,7 +159,7 @@ describe("Ethereum Wrapper", () => { }); it("getBalance", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "getBalance", args: { @@ -139,7 +172,7 @@ describe("Ethereum Wrapper", () => { }); it("checkAddress", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "checkAddress", args: { @@ -153,7 +186,7 @@ describe("Ethereum Wrapper", () => { }); it("getGasPrice", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "getGasPrice" }); @@ -163,7 +196,7 @@ describe("Ethereum Wrapper", () => { }); it("signMessage", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "signMessage", args: { @@ -179,7 +212,7 @@ describe("Ethereum Wrapper", () => { it("signMessageBytes", async () => { const encoder = new TextEncoder(); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "signMessageBytes", args: { @@ -193,7 +226,7 @@ describe("Ethereum Wrapper", () => { ); }); - it("signTypedData", async () => { + describe("signTypedData", () => { const domain = { name: 'Ether Mail', version: '1', @@ -204,6 +237,14 @@ describe("Ethereum Wrapper", () => { // The named list of all type definitions const types = { EIP712Domain: [ + { + type: "string", + name: "name" + }, + { + type: "string", + name: "version" + }, { type: "uint256", name: "chainId", @@ -237,22 +278,39 @@ describe("Ethereum Wrapper", () => { contents: 'Hello, Bob!' }; - const response = await client.invoke({ - uri, - method: "signTypedData", - args: { - payload: JSON.stringify({ domain, primaryType:'Mail', types, message }) - } - }); + it("with custom signer", async () => { + const response = await clientWithCustomSigner.invoke({ + uri, + method: "signTypedData", + args: { + payload: JSON.stringify({ domain, primaryType: 'Mail', types, message }) + } + }); + + if (!response.ok) throw response.error; + expect(response.value).toBe( + "0x12bdd486cb42c3b3c414bb04253acfe7d402559e7637562987af6bd78508f38623c1cc09880613762cc913d49fd7d3c091be974c0dee83fb233300b6b58727311c" + ); + }) - if (!response.ok) throw response.error; - expect(response.value).toBe( - "0x0a5c8f973cd8605ac5743c271b60e34d76186f29d6de319f9792b5d66fb63e372df3018c984a52d1cfb4bf29eb645198b54acf4ea7bec94a023c463bebb992091c" - ); + it("with provider signer", async () => { + const response = await clientWithWeb3Provider.invoke({ + uri, + method: "signTypedData", + args: { + payload: JSON.stringify({ domain, primaryType: 'Mail', types, message }) + } + }); + + if (!response.ok) throw response.error; + expect(response.value).toBe( + "0x12bdd486cb42c3b3c414bb04253acfe7d402559e7637562987af6bd78508f38623c1cc09880613762cc913d49fd7d3c091be974c0dee83fb233300b6b58727311c" + ); + }) }); it("getSignerAddress", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "getSignerAddress", }); @@ -264,7 +322,7 @@ describe("Ethereum Wrapper", () => { }); it("getSignerBalance", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "getSignerBalance", }); @@ -274,7 +332,7 @@ describe("Ethereum Wrapper", () => { }); it("getSignerTransactionCount", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "getSignerTransactionCount", }); @@ -285,7 +343,7 @@ describe("Ethereum Wrapper", () => { }); it("getGasPrice", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "getGasPrice", }); @@ -296,7 +354,7 @@ describe("Ethereum Wrapper", () => { }); it("encodeParams", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "encodeParams", args: { @@ -312,7 +370,7 @@ describe("Ethereum Wrapper", () => { }); it("encodeParams - (uint256, uint256)", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "encodeParams", args: { @@ -329,7 +387,7 @@ describe("Ethereum Wrapper", () => { }); it("encodeParams - (uint256, uint256, address)", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "encodeParams", args: { @@ -345,7 +403,7 @@ describe("Ethereum Wrapper", () => { }); it("encodeFunction", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "encodeFunction", args: { @@ -361,7 +419,7 @@ describe("Ethereum Wrapper", () => { }); it("encodeFunction - array arg", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "encodeFunction", args: { @@ -375,7 +433,7 @@ describe("Ethereum Wrapper", () => { describe("create 2 address", () => { it("should calculate create 2 address", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "generateCreate2Address", args: { @@ -388,22 +446,8 @@ describe("Ethereum Wrapper", () => { expect(response.value).toEqual("0x57d4d0c68057Cc9446F93307082D63466BC3D731".toLowerCase()); }); - it.skip("should encode packed", async () => { - const response = await client.invoke({ - uri, - method: "wEncodePacked", - args: { - bytes: "0x2fe2c0ec0d2f63b668a3389b17cfed8ec8554e2cd759b305b8873ea03353a360", - uint: "0x0000000000000000000000000000000000000000000000000000000000000042", - } - }); - if (!response.ok) throw response.error; - expect(response.value).toEqual("0x169b91711c9e5fc8418feaca506caa84243dc031eb336f195d6399e79978f138".toLowerCase()); - - }); - it("should encode bytes and convert to keccak", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "keccak256BytesEncodePacked", args: { @@ -416,7 +460,7 @@ describe("Ethereum Wrapper", () => { }); it("should encode keccak256", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "keccak256Bytes", args: { @@ -430,7 +474,7 @@ describe("Ethereum Wrapper", () => { }); it("toWei", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "toWei", args: { @@ -444,7 +488,7 @@ describe("Ethereum Wrapper", () => { }); it("toEth", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "toEth", args: { @@ -458,7 +502,7 @@ describe("Ethereum Wrapper", () => { }); it("sendRpc", async () => { - const res = await client.invoke({ + const res = await clientWithCustomSigner.invoke({ uri, method: "sendRpc", args: { @@ -474,7 +518,7 @@ describe("Ethereum Wrapper", () => { it("estimateTransactionGas", async () => { const data = contracts.SimpleStorage.bytecode; - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "estimateTransactionGas", args: { @@ -492,7 +536,7 @@ describe("Ethereum Wrapper", () => { it("awaitTransaction", async () => { const label = "0x" + keccak256("testwhatever"); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractMethod", args: { @@ -508,14 +552,14 @@ describe("Ethereum Wrapper", () => { const confirmations = 4; - const awaitResponsePromise = client.invoke({ + const awaitResponsePromise = clientWithCustomSigner.invoke({ uri, method: "awaitTransaction", args: { txHash, confirmations }, }); for (let i = 0; i < confirmations; i++) { - await client.invoke({ + await clientWithCustomSigner.invoke({ uri: ethProviderPluginUri, method: "request", args: { method: "evm_mine" } @@ -530,22 +574,37 @@ describe("Ethereum Wrapper", () => { expect(awaitResponse.value.confirmations).toEqual(4); }); - it("sendTransaction", async () => { - const response = await client.invoke({ - uri, - method: "sendTransaction", - args: { - tx: { data: contracts.SimpleStorage.bytecode } - } - }); - - if (!response.ok) throw response.error; - expect(response.value).toBeDefined(); - expect(response.value.hash).toBeDefined(); - }); + describe("sendTransaction", () => { + it("using custom signer", async () => { + const response = await clientWithCustomSigner.invoke({ + uri, + method: "sendTransaction", + args: { + tx: { data: contracts.SimpleStorage.bytecode } + } + }); + + if (!response.ok) throw response.error; + expect(response.value).toBeDefined(); + expect(response.value.hash).toBeDefined(); + }) + it("using provider signer", async () => { + const response = await clientWithWeb3Provider.invoke({ + uri, + method: "sendTransaction", + args: { + tx: { data: contracts.SimpleStorage.bytecode } + } + }); + + if (!response.ok) throw response.error; + expect(response.value).toBeDefined(); + expect(response.value.hash).toBeDefined(); + }) + }) it("sendTransactionAndWait", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "sendTransactionAndWait", args: { @@ -563,7 +622,7 @@ describe("Ethereum Wrapper", () => { it("estimateTransactionGas", async () => { const data = contracts.SimpleStorage.bytecode; - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "estimateTransactionGas", args: { @@ -580,7 +639,7 @@ describe("Ethereum Wrapper", () => { }); it("deployContract", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "deployContract", args: { @@ -596,7 +655,7 @@ describe("Ethereum Wrapper", () => { it("estimateContractCallGas", async () => { const label = "0x" + keccak256("testwhatever2"); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "estimateContractCallGas", args: { @@ -614,7 +673,7 @@ describe("Ethereum Wrapper", () => { it("callContractView", async () => { const node = namehash("whatever.eth"); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { @@ -631,7 +690,7 @@ describe("Ethereum Wrapper", () => { it("callContractStatic (no error)", async () => { const label = "0x" + keccak256("testwhatever"); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractStatic", args: { @@ -648,7 +707,7 @@ describe("Ethereum Wrapper", () => { it("callContractStatic (expecting error)", async () => { const label = "0x" + keccak256("testwhatever"); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractStatic", args: { @@ -668,7 +727,7 @@ describe("Ethereum Wrapper", () => { it("callContractStatic (expecting error) - TxOptions", async () => { const label = "0x" + keccak256("testwhatever"); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractStatic", args: { @@ -689,7 +748,7 @@ describe("Ethereum Wrapper", () => { it("callContractMethod", async () => { const label = "0x" + keccak256("testwhatever"); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractMethod", args: { @@ -710,7 +769,7 @@ describe("Ethereum Wrapper", () => { it("callContractMethodAndWait", async () => { const label = "0x" + keccak256("testwhatever"); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractMethodAndWait", args: { @@ -741,7 +800,7 @@ describe("Ethereum Wrapper", () => { "100" ); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { @@ -766,7 +825,7 @@ describe("Ethereum Wrapper", () => { "100" ); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { @@ -796,7 +855,7 @@ describe("Ethereum Wrapper", () => { "90" ); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { @@ -834,7 +893,7 @@ describe("Ethereum Wrapper", () => { "90" ); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { @@ -872,7 +931,7 @@ describe("Ethereum Wrapper", () => { "90" ); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { @@ -900,7 +959,7 @@ describe("Ethereum Wrapper", () => { contracts.SimpleStorage.bytecode )).toLowerCase(); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { @@ -924,7 +983,7 @@ describe("Ethereum Wrapper", () => { "100", ]); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { @@ -956,7 +1015,7 @@ describe("Ethereum Wrapper", () => { "99", ]); - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { @@ -988,7 +1047,7 @@ describe("Ethereum Wrapper", () => { returnType: string, returnValue: string ) => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "callContractView", args: { diff --git a/wrapper/yarn.lock b/wrapper/yarn.lock index 8e7a07f..0f2b88f 100644 --- a/wrapper/yarn.lock +++ b/wrapper/yarn.lock @@ -1478,6 +1478,13 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@trufflesuite/bigint-buffer@1.1.10": + version "1.1.10" + resolved "https://registry.yarnpkg.com/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz#a1d9ca22d3cad1a138b78baaf15543637a3e1692" + integrity sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw== + dependencies: + node-gyp-build "4.4.0" + "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -1531,6 +1538,13 @@ dependencies: "@babel/types" "^7.3.0" +"@types/bn.js@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" + integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== + dependencies: + "@types/node" "*" + "@types/graceful-fs@^4.1.2": version "4.1.6" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" @@ -1570,6 +1584,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== +"@types/lru-cache@5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" + integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== + "@types/node@*": version "18.15.3" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" @@ -1585,6 +1604,11 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== +"@types/seedrandom@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-3.0.1.tgz#1254750a4fec4aff2ebec088ccd0bb02e91fedb4" + integrity sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw== + "@types/stack-utils@^2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" @@ -1626,6 +1650,31 @@ abort-controller@^3.0.0: dependencies: event-target-shim "^5.0.0" +abstract-level@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/abstract-level/-/abstract-level-1.0.3.tgz#78a67d3d84da55ee15201486ab44c09560070741" + integrity sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA== + dependencies: + buffer "^6.0.3" + catering "^2.1.0" + is-buffer "^2.0.5" + level-supports "^4.0.0" + level-transcoder "^1.0.1" + module-error "^1.0.1" + queue-microtask "^1.2.3" + +abstract-leveldown@7.2.0, abstract-leveldown@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz#08d19d4e26fb5be426f7a57004851b39e1795a2e" + integrity sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ== + dependencies: + buffer "^6.0.3" + catering "^2.0.0" + is-buffer "^2.0.5" + level-concat-iterator "^3.0.0" + level-supports "^2.0.1" + queue-microtask "^1.2.3" + acorn-globals@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" @@ -1763,6 +1812,20 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== +async-eventemitter@0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" + integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== + dependencies: + async "^2.4.0" + +async@^2.4.0: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2055,7 +2118,7 @@ buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@^6.0.1: +buffer@^6.0.1, buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -2063,6 +2126,13 @@ buffer@^6.0.1: base64-js "^1.3.1" ieee754 "^1.2.1" +bufferutil@4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" + integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A== + dependencies: + node-gyp-build "^4.3.0" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -2118,6 +2188,11 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" +catering@^2.0.0, catering@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510" + integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== + chalk@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" @@ -2518,7 +2593,7 @@ electron-to-chromium@^1.4.284: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.328.tgz#b4565ffa502542b561cea16086d6d9b916c7095a" integrity sha512-DE9tTy2PNmy1v55AZAO542ui+MLC2cvINMK4P2LXGsJdput/ThVG9t+QGecPuAZZSgC8XoI+Jh9M1OG9IoNSCw== -elliptic@6.5.4: +elliptic@6.5.4, elliptic@^6.5.4: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -2531,6 +2606,11 @@ elliptic@6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +emittery@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.0.tgz#bb373c660a9d421bb44706ec4967ed50c02a8026" + integrity sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ== + emittery@^0.7.1: version "0.7.2" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" @@ -2938,6 +3018,26 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +ganache@7.7.7: + version "7.7.7" + resolved "https://registry.yarnpkg.com/ganache/-/ganache-7.7.7.tgz#19939a86799f0bcb7df02e88082944466394b913" + integrity sha512-kZUuOcgDQBtbxzs4iB3chg1iAc28s2ffdOdzyTTzo4vr9sb843w4PbWd5v1hsIqtcNjurcpLaW8XRp/cw2u++g== + dependencies: + "@trufflesuite/bigint-buffer" "1.1.10" + "@types/bn.js" "^5.1.0" + "@types/lru-cache" "5.1.1" + "@types/seedrandom" "3.0.1" + abstract-level "1.0.3" + abstract-leveldown "7.2.0" + async-eventemitter "0.2.4" + emittery "0.10.0" + keccak "3.0.2" + leveldown "6.1.0" + secp256k1 "4.0.3" + optionalDependencies: + bufferutil "4.0.5" + utf-8-validate "5.0.7" + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -3401,6 +3501,11 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-buffer@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + is-callable@^1.1.3: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -4234,6 +4339,15 @@ jsonschema@1.4.0: resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== +keccak@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -4270,6 +4384,40 @@ lcid@^3.0.0: dependencies: invert-kv "^3.0.0" +level-concat-iterator@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz#5235b1f744bc34847ed65a50548aa88d22e881cf" + integrity sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ== + dependencies: + catering "^2.1.0" + +level-supports@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-2.1.0.tgz#9af908d853597ecd592293b2fad124375be79c5f" + integrity sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA== + +level-supports@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-4.0.1.tgz#431546f9d81f10ff0fea0e74533a0e875c08c66a" + integrity sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA== + +level-transcoder@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/level-transcoder/-/level-transcoder-1.0.1.tgz#f8cef5990c4f1283d4c86d949e73631b0bc8ba9c" + integrity sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w== + dependencies: + buffer "^6.0.3" + module-error "^1.0.1" + +leveldown@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-6.1.0.tgz#7ab1297706f70c657d1a72b31b40323aa612b9ee" + integrity sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w== + dependencies: + abstract-leveldown "^7.2.0" + napi-macros "~2.0.0" + node-gyp-build "^4.3.0" + leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -4300,7 +4448,7 @@ lodash.merge@4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@4.x, lodash@^4.7.0: +lodash@4.x, lodash@^4.17.14, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4464,6 +4612,11 @@ mkdirp@1.x, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +module-error@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/module-error/-/module-error-1.0.2.tgz#8d1a48897ca883f47a45816d4fb3e3c6ba404d86" + integrity sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -4638,6 +4791,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +napi-macros@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" + integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== + native-abort-controller@0.0.3, native-abort-controller@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/native-abort-controller/-/native-abort-controller-0.0.3.tgz#4c528a6c9c7d3eafefdc2c196ac9deb1a5edf2f8" @@ -4672,6 +4830,11 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + node-fetch@^2.6.0: version "2.6.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" @@ -4679,6 +4842,16 @@ node-fetch@^2.6.0: dependencies: whatwg-url "^5.0.0" +node-gyp-build@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" + integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== + +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -5074,6 +5247,11 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== +queue-microtask@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" @@ -5296,6 +5474,15 @@ scrypt-js@3.0.1: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== +secp256k1@4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + "semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -5880,6 +6067,13 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== +utf-8-validate@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922" + integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q== + dependencies: + node-gyp-build "^4.3.0" + util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" From 27f085345eb71803f0f6375601293eb981ebe37d Mon Sep 17 00:00:00 2001 From: Cesar Date: Thu, 16 Mar 2023 12:21:34 +0100 Subject: [PATCH 20/25] chore(provider): update tests of signTypedData --- provider/implementations/js/src/index.ts | 3 +- .../implementations/js/tests/index.spec.ts | 29 ++++++++++++------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index ad757bc..6b71a73 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -65,7 +65,7 @@ export class EthereumProviderPlugin extends Module { } if ( - args.method === "eth_signTypedData" && + args.method === "eth_signTypedData_v4" && connection.getSignerType() == SignerType.CUSTOM_SIGNER ) { const signer = await connection.getSigner(); @@ -88,6 +88,7 @@ export class EthereumProviderPlugin extends Module { } return JSON.stringify(signature) } + const params = JSON.parse(paramsStr); try { const req = await provider.send( diff --git a/provider/implementations/js/tests/index.spec.ts b/provider/implementations/js/tests/index.spec.ts index 7152003..1743600 100644 --- a/provider/implementations/js/tests/index.spec.ts +++ b/provider/implementations/js/tests/index.spec.ts @@ -1,6 +1,7 @@ import { PolywrapClient, ClientConfigBuilder } from "@polywrap/client-js"; import { BigNumber, Wallet } from "ethers"; + import { ethereumProviderPlugin, Connection, Connections } from "../src"; jest.setTimeout(360000); @@ -137,6 +138,14 @@ describe("Ethereum Plugin", () => { // The named list of all type definitions const types = { EIP712Domain: [ + { + type: "string", + name: "name" + }, + { + type: "string", + name: "version" + }, { type: "uint256", name: "chainId", @@ -146,15 +155,15 @@ describe("Ethereum Plugin", () => { name: "verifyingContract", }, ], - Person: [ - { name: 'name', type: 'string' }, - { name: 'wallet', type: 'address' } - ], - Mail: [ - { name: 'from', type: 'Person' }, - { name: 'to', type: 'Person' }, - { name: 'contents', type: 'string' } - ] + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallet', type: 'address' } + ], + Mail: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person' }, + { name: 'contents', type: 'string' } + ] }; // The data to sign @@ -174,7 +183,7 @@ describe("Ethereum Plugin", () => { uri, method: "request", args: { - method: "eth_signTypedData", + method: "eth_signTypedData_v4", params: JSON.stringify(["0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1", { domain, primaryType: 'Mail', types, message }]) } }); From 89da4e3c1bdff26e43ddb5bdfc3d3f96cf5e9225 Mon Sep 17 00:00:00 2001 From: krisbitney Date: Thu, 16 Mar 2023 16:52:49 +0530 Subject: [PATCH 21/25] commented out Rust `solidityPack` since I can't get it working --- provider/implementations/js/src/rpc.ts | 9 ++-- wrapper/src/lib.rs | 9 ++++ wrapper/src/polywrap_provider/provider.rs | 5 ++- wrapper/src/schema.graphql | 16 +++---- wrapper/tests/e2e.spec.ts | 53 +++++++++++++++++------ 5 files changed, 64 insertions(+), 28 deletions(-) diff --git a/provider/implementations/js/src/rpc.ts b/provider/implementations/js/src/rpc.ts index 800146c..fcf7507 100644 --- a/provider/implementations/js/src/rpc.ts +++ b/provider/implementations/js/src/rpc.ts @@ -142,10 +142,13 @@ export namespace eth_signTypedData { export namespace eth_encodePacked { export function deserializeParameters(paramsStr: string): { types: string[], values: unknown[] } { - const params = JSON.parse(paramsStr); + const params = JSON.parse(paramsStr) as Record; if ( - "types" in params && "values" in params - && Array.isArray(params.types) && Array.isArray(params.values) + typeof params === "object" + && "types" in params + && "values" in params + && Array.isArray(params.types) + && Array.isArray(params.values) && typeof params.types[0] === "string" ) { return { diff --git a/wrapper/src/lib.rs b/wrapper/src/lib.rs index 9de2256..8c2990e 100644 --- a/wrapper/src/lib.rs +++ b/wrapper/src/lib.rs @@ -315,6 +315,15 @@ pub fn keccak256_bytes_encode_packed(args: wrap::ArgsKeccak256BytesEncodePacked) format!("{}", Bytes::from(encoded)).to_string() } +// pub fn solidity_pack(args: wrap::ArgsSolidityPack) -> String { +// let provider = PolywrapProvider::new(&None); +// let params = JSON::json!({ +// "types": args.types, +// "values": args.values +// }).to_string(); +// return provider.request_sync("eth_encodePacked", params).unwrap() +// } + pub fn generate_create2_address( args: wrap::ArgsGenerateCreate2Address, ) -> String { diff --git a/wrapper/src/polywrap_provider/provider.rs b/wrapper/src/polywrap_provider/provider.rs index a53a440..c65adbc 100644 --- a/wrapper/src/polywrap_provider/provider.rs +++ b/wrapper/src/polywrap_provider/provider.rs @@ -7,6 +7,7 @@ use serde::{de::DeserializeOwned, Serialize}; use thiserror::Error; use ethers_core::types::{TxHash}; +use polywrap_wasm_rs::JSON; #[derive(Error, Debug)] /// Error thrown when sending an HTTP request @@ -51,14 +52,14 @@ impl PolywrapProvider { method: &str, params: T, ) -> Result { - let params_v = serde_json::to_value(¶ms).unwrap(); + let params_v = JSON::to_value(¶ms).unwrap(); let res = ProviderModule::request(&ArgsRequest { method: method.to_string(), params: Some(params_v), connection: self.connection.clone(), }) .map_err(|err| ClientError::Error(err))?; - let res = serde_json::from_value(res).map_err(|err| ClientError::SerdeJson { + let res = JSON::from_value(res).map_err(|err| ClientError::SerdeJson { err, text: "from str failed".to_string(), })?; diff --git a/wrapper/src/schema.graphql b/wrapper/src/schema.graphql index f0312ba..43eca3d 100644 --- a/wrapper/src/schema.graphql +++ b/wrapper/src/schema.graphql @@ -285,17 +285,13 @@ type Module { keccak256BytesEncodePacked(bytes: String!) : String! keccak256Bytes(bytes: String!): String! +# solidityPack( +# types: [String!]! +# values: [String!]! +# ): String! + signTypedData( payload: JSON! connection: Connection ): String! -} - -# TODO: implement the following methods - -# waitForEvent( -# address: String! -# event: String! -# args: [String!] -# timeout: UInt32 -# ): EventNotification! +} \ No newline at end of file diff --git a/wrapper/tests/e2e.spec.ts b/wrapper/tests/e2e.spec.ts index f248417..0fab363 100644 --- a/wrapper/tests/e2e.spec.ts +++ b/wrapper/tests/e2e.spec.ts @@ -388,13 +388,12 @@ describe("Ethereum Wrapper", () => { expect(response.value).toEqual("0x57d4d0c68057Cc9446F93307082D63466BC3D731".toLowerCase()); }); - it.skip("should encode packed", async () => { + it("should encode bytes and convert to keccak", async () => { const response = await client.invoke({ uri, - method: "wEncodePacked", + method: "keccak256BytesEncodePacked", args: { - bytes: "0x2fe2c0ec0d2f63b668a3389b17cfed8ec8554e2cd759b305b8873ea03353a360", - uint: "0x0000000000000000000000000000000000000000000000000000000000000042", + bytes: "0x2fe2c0ec0d2f63b668a3389b17cfed8ec8554e2cd759b305b8873ea03353a3600000000000000000000000000000000000000000000000000000000000000042", } }); if (!response.ok) throw response.error; @@ -402,30 +401,58 @@ describe("Ethereum Wrapper", () => { }); - it("should encode bytes and convert to keccak", async () => { + it("should encode keccak256", async () => { const response = await client.invoke({ uri, - method: "keccak256BytesEncodePacked", + method: "keccak256Bytes", args: { - bytes: "0x2fe2c0ec0d2f63b668a3389b17cfed8ec8554e2cd759b305b8873ea03353a3600000000000000000000000000000000000000000000000000000000000000042", + bytes: "0xe1c7392a", } }); if (!response.ok) throw response.error; - expect(response.value).toEqual("0x169b91711c9e5fc8418feaca506caa84243dc031eb336f195d6399e79978f138".toLowerCase()); + expect(response.value).toEqual("0x2fe2c0ec0d2f63b668a3389b17cfed8ec8554e2cd759b305b8873ea03353a360".toLowerCase()); }); + }); - it("should encode keccak256", async () => { + describe.skip("solidityPack", () => { + it("should encode packed [int16, uint48]", async () => { const response = await client.invoke({ uri, - method: "keccak256Bytes", + method: "solidityPack", args: { - bytes: "0xe1c7392a", + types: [ "int16", "uint48" ], + values: [ "-1", "12" ] } }); if (!response.ok) throw response.error; - expect(response.value).toEqual("0x2fe2c0ec0d2f63b668a3389b17cfed8ec8554e2cd759b305b8873ea03353a360".toLowerCase()); - + expect(response.value).toEqual("0xffff00000000000c"); + }); + + it("should encode packed [uint256, uint256]", async () => { + const response = await client.invoke({ + uri, + method: "solidityPack", + args: { + types: [ "uint256", "uint256" ], + values: [ "8", "16" ] + } + }); + if (!response.ok) throw response.error; + expect(response.value).toEqual("0x00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010"); + }); + + it("should encode packed [string, uint8]", async () => { + const response = await client.invoke({ + uri, + method: "solidityPack", + args: { + types: [ "string", "uint8" ], + values: [ "Hello", "3" ], + } + }); + if (!response.ok) throw response.error; + expect(response.value).toEqual("0x48656c6c6f03"); }); }); From 63cb4fc520b47ad78596b90830e7387aa31ecf93 Mon Sep 17 00:00:00 2001 From: krisbitney Date: Thu, 16 Mar 2023 22:12:44 +0530 Subject: [PATCH 22/25] solidityPack working on ethereum wrapper --- provider/implementations/js/src/index.ts | 3 ++- provider/implementations/js/src/rpc.ts | 3 ++- provider/implementations/js/tests/index.spec.ts | 6 +++--- wrapper/src/lib.rs | 16 ++++++++-------- wrapper/src/schema.graphql | 8 ++++---- wrapper/tests/e2e.spec.ts | 2 +- 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/provider/implementations/js/src/index.ts b/provider/implementations/js/src/index.ts index 606c250..c82cc28 100644 --- a/provider/implementations/js/src/index.ts +++ b/provider/implementations/js/src/index.ts @@ -91,7 +91,8 @@ export class EthereumProviderPlugin extends Module { if (args.method === "eth_encodePacked") { const params = eth_encodePacked.deserializeParameters(paramsStr); - return ethers.utils.solidityPack(params.types, params.values); + const result = ethers.utils.solidityPack(params.types, params.values); + return JSON.stringify(result); } const params = JSON.parse(paramsStr); diff --git a/provider/implementations/js/src/rpc.ts b/provider/implementations/js/src/rpc.ts index fcf7507..0afdef2 100644 --- a/provider/implementations/js/src/rpc.ts +++ b/provider/implementations/js/src/rpc.ts @@ -142,7 +142,8 @@ export namespace eth_signTypedData { export namespace eth_encodePacked { export function deserializeParameters(paramsStr: string): { types: string[], values: unknown[] } { - const params = JSON.parse(paramsStr) as Record; + let params = JSON.parse(paramsStr); + if ( typeof params === "object" && "types" in params diff --git a/provider/implementations/js/tests/index.spec.ts b/provider/implementations/js/tests/index.spec.ts index 1fb5aca..62cc8bc 100644 --- a/provider/implementations/js/tests/index.spec.ts +++ b/provider/implementations/js/tests/index.spec.ts @@ -198,7 +198,7 @@ describe("Ethereum Plugin", () => { } }); if (response.ok === false) throw response.error; - expect(response.value).toEqual("0xffff00000000000c"); + expect(response.value).toEqual(`"0xffff00000000000c"`); }); it("should encode packed [uint256, uint256]", async () => { @@ -214,7 +214,7 @@ describe("Ethereum Plugin", () => { } }); if (response.ok === false) throw response.error; - expect(response.value).toEqual("0x00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010"); + expect(response.value).toEqual(`"0x00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010"`); }); it("should encode packed [string, uint8]", async () => { @@ -230,7 +230,7 @@ describe("Ethereum Plugin", () => { } }); if (response.ok === false) throw response.error; - expect(response.value).toEqual("0x48656c6c6f03"); + expect(response.value).toEqual(`"0x48656c6c6f03"`); }); }) }); diff --git a/wrapper/src/lib.rs b/wrapper/src/lib.rs index 8c2990e..b803b31 100644 --- a/wrapper/src/lib.rs +++ b/wrapper/src/lib.rs @@ -315,14 +315,14 @@ pub fn keccak256_bytes_encode_packed(args: wrap::ArgsKeccak256BytesEncodePacked) format!("{}", Bytes::from(encoded)).to_string() } -// pub fn solidity_pack(args: wrap::ArgsSolidityPack) -> String { -// let provider = PolywrapProvider::new(&None); -// let params = JSON::json!({ -// "types": args.types, -// "values": args.values -// }).to_string(); -// return provider.request_sync("eth_encodePacked", params).unwrap() -// } +pub fn solidity_pack(args: wrap::ArgsSolidityPack) -> String { + let provider = PolywrapProvider::new(&None); + let params = JSON::json!({ + "types": args.types, + "values": args.values + }); + return provider.request_sync("eth_encodePacked", params).unwrap() +} pub fn generate_create2_address( args: wrap::ArgsGenerateCreate2Address, diff --git a/wrapper/src/schema.graphql b/wrapper/src/schema.graphql index 43eca3d..b56af23 100644 --- a/wrapper/src/schema.graphql +++ b/wrapper/src/schema.graphql @@ -285,10 +285,10 @@ type Module { keccak256BytesEncodePacked(bytes: String!) : String! keccak256Bytes(bytes: String!): String! -# solidityPack( -# types: [String!]! -# values: [String!]! -# ): String! + solidityPack( + types: [String!]! + values: [String!]! + ): String! signTypedData( payload: JSON! diff --git a/wrapper/tests/e2e.spec.ts b/wrapper/tests/e2e.spec.ts index 0fab363..adbddd1 100644 --- a/wrapper/tests/e2e.spec.ts +++ b/wrapper/tests/e2e.spec.ts @@ -415,7 +415,7 @@ describe("Ethereum Wrapper", () => { }); }); - describe.skip("solidityPack", () => { + describe("solidityPack", () => { it("should encode packed [int16, uint48]", async () => { const response = await client.invoke({ uri, From c7d682c14e103e71ed9f760c9f512bdaa591ae61 Mon Sep 17 00:00:00 2001 From: krisbitney Date: Thu, 16 Mar 2023 22:38:52 +0530 Subject: [PATCH 23/25] fix for string parsing when string starts and ends with quotes --- wrapper/src/api/abi.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/wrapper/src/api/abi.rs b/wrapper/src/api/abi.rs index 4723073..b75487d 100644 --- a/wrapper/src/api/abi.rs +++ b/wrapper/src/api/abi.rs @@ -7,6 +7,9 @@ pub fn encode_params(types: Vec, values: Vec) -> Vec { .zip(types.iter()) .map(|(arg, t)| { let kind = HumanReadableParser::parse_type(&t).unwrap(); + if arg.starts_with("\"") && arg.ends_with("\"") { + return LenientTokenizer::tokenize(&kind, arg.replace("\"", "").as_str()).unwrap() + } LenientTokenizer::tokenize(&kind, arg).unwrap() }) .collect(); @@ -43,10 +46,8 @@ pub fn tokenize_values(values: &Vec, params: &Vec) -> Vec .iter() .zip(values.iter()) .map(|(param, arg)| { - if let ParamType::Array(addresses) = ¶m.kind { - if let ParamType::Address = addresses.as_ref() { - return LenientTokenizer::tokenize(¶m.kind, arg.replace("\"", "").as_str()).unwrap() - }; + if arg.starts_with("\"") && arg.ends_with("\"") { + return LenientTokenizer::tokenize(¶m.kind, arg.replace("\"", "").as_str()).unwrap() } LenientTokenizer::tokenize(¶m.kind, arg).unwrap() }) From 25814810bd448127196e4ac1aef07958775fd16b Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Thu, 16 Mar 2023 21:42:07 -0400 Subject: [PATCH 24/25] chore: fix tests --- wrapper/tests/e2e.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wrapper/tests/e2e.spec.ts b/wrapper/tests/e2e.spec.ts index 92f8aaa..c3ab151 100644 --- a/wrapper/tests/e2e.spec.ts +++ b/wrapper/tests/e2e.spec.ts @@ -475,7 +475,7 @@ describe("Ethereum Wrapper", () => { describe("solidityPack", () => { it("should encode packed [int16, uint48]", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "solidityPack", args: { @@ -488,7 +488,7 @@ describe("Ethereum Wrapper", () => { }); it("should encode packed [uint256, uint256]", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "solidityPack", args: { @@ -501,7 +501,7 @@ describe("Ethereum Wrapper", () => { }); it("should encode packed [string, uint8]", async () => { - const response = await client.invoke({ + const response = await clientWithCustomSigner.invoke({ uri, method: "solidityPack", args: { From 266b78f35f106196753e39df5d0c7697371cde2e Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Thu, 16 Mar 2023 22:01:33 -0400 Subject: [PATCH 25/25] chore: update versions --- provider/interface/package.json | 2 +- wrapper/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/provider/interface/package.json b/provider/interface/package.json index 30ff11d..e953171 100644 --- a/provider/interface/package.json +++ b/provider/interface/package.json @@ -1,7 +1,7 @@ { "name": "@polywrap/ethereum-provider-interface", "description": "Ethereum Provider Interface", - "version": "0.1.0", + "version": "2.0.0", "license": "MIT", "scripts": { "build": "npx polywrap build", diff --git a/wrapper/package.json b/wrapper/package.json index cc09a3f..71fb762 100644 --- a/wrapper/package.json +++ b/wrapper/package.json @@ -1,7 +1,7 @@ { "name": "@polywrap/ethereum-wrapper", "description": "Ethereum Wrapper that can be invoked from any language with a Polywrap client", - "version": "0.1.1", + "version": "2.0.0", "license": "MIT", "main": "build/index.js", "files": ["build"],