diff --git a/package.json b/package.json
index 668a505..88d45cc 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,7 @@
"eslint": "eslint src/**/* --ext .ts,.tsx --ignore-pattern **/*.graphql --fix",
"lint": "npm run check-circular-deps && npm run eslint && npm run tsc && npm run tsc-test",
"prepare": "npm run build",
- "postinstall": "node postinstall.js",
+ "postinstall": "node postinstall.js && patch-package",
"build-graphql-V2": "rm -rf src/services/railgun/quick-sync/V2/graphql/.graphclient && graphclient build --dir src/services/railgun/quick-sync/V2/graphql",
"build-graphql-V3": "rm -rf src/services/railgun/quick-sync/V3/graphql/.graphclient && graphclient build --dir src/services/railgun/quick-sync/V3/graphql",
"build-graphql-railgun-txids": "rm -rf src/services/railgun/railgun-txids/graphql/.graphclient && graphclient build --dir src/services/railgun/railgun-txids/graphql"
@@ -54,6 +54,7 @@
"ethers": "6.13.1",
"events": "3.3.0",
"graphql": "^16.6.0",
+ "patch-package": "^8.0.0",
"stream-browserify": "3.0.0"
},
"devDependencies": {
diff --git a/patches/@railgun-community+engine+9.3.1.patch b/patches/@railgun-community+engine+9.3.1.patch
new file mode 100644
index 0000000..8f7630e
--- /dev/null
+++ b/patches/@railgun-community+engine+9.3.1.patch
@@ -0,0 +1,388 @@
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.d.ts b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.d.ts
+index af1f476..cc734df 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.d.ts
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.d.ts
+@@ -1,23 +1,27 @@
+ ///
+-import { ContractTransaction, FallbackProvider } from 'ethers';
++import { ContractTransaction, Provider } from 'ethers';
+ import EventEmitter from 'events';
+ import { EventsCommitmentListener, EventsNullifierListener, EventsUnshieldListener } from '../../../models/event-types';
+ import { CommitmentPreimageStruct, ShieldRequestStruct, TokenDataStructOutput, TransactionStruct, RailgunSmartWallet } from '../../../abi/typechain/RailgunSmartWallet';
+ import { Chain } from '../../../models/engine-types';
+-import { PollingJsonRpcProvider } from '../../../provider/polling-json-rpc-provider';
+ import { TXIDVersion } from '../../../models/poi-types';
+ export declare class RailgunSmartWalletContract extends EventEmitter {
+ readonly contract: RailgunSmartWallet;
+- readonly contractForListeners: RailgunSmartWallet;
+ readonly address: string;
+ readonly chain: Chain;
+ readonly txidVersion = TXIDVersion.V2_PoseidonMerkle;
+ /**
+ * Connect to Railgun instance on network
+ * @param railgunSmartWalletContractAddress - address of Railgun instance (Proxy contract)
+- * @param provider - Network provider
++ * @param defaultProvider - Network provider
++ * @param pollingProvider - DEPRECATED
++ * @param chain
+ */
+- constructor(railgunSmartWalletContractAddress: string, defaultProvider: PollingJsonRpcProvider | FallbackProvider, pollingProvider: PollingJsonRpcProvider, chain: Chain);
++ constructor(railgunSmartWalletContractAddress: string, defaultProvider: Provider,
++ /**
++ * @deprecated pollingProvider will be removed in the next major version.
++ */
++ pollingProvider?: Provider, chain: Chain);
+ /**
+ * Get current merkle root
+ * @returns merkle root
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.js b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.js
+index 62590aa..22cb434 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.js
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.js
+@@ -15,7 +15,6 @@ const V2_events_1 = require("./V2-events");
+ const legacy_events_1 = require("../V1/legacy-events");
+ const constants_1 = require("../../../utils/constants");
+ const engine_types_1 = require("../../../models/engine-types");
+-const polling_util_1 = require("../../../provider/polling-util");
+ const poi_types_1 = require("../../../models/poi-types");
+ const ethers_2 = require("../../../utils/ethers");
+ const SCAN_CHUNKS = 499;
+@@ -24,23 +23,26 @@ const EVENTS_SCAN_TIMEOUT = 5000;
+ const SCAN_TIMEOUT_ERROR_MESSAGE = 'getLogs request timed out after 5 seconds.';
+ class RailgunSmartWalletContract extends events_1.default {
+ contract;
+- contractForListeners;
+ address;
+ chain;
+ txidVersion = poi_types_1.TXIDVersion.V2_PoseidonMerkle;
+ /**
+ * Connect to Railgun instance on network
+ * @param railgunSmartWalletContractAddress - address of Railgun instance (Proxy contract)
+- * @param provider - Network provider
++ * @param defaultProvider - Network provider
++ * @param pollingProvider - DEPRECATED
++ * @param chain
+ */
+- constructor(railgunSmartWalletContractAddress, defaultProvider, pollingProvider, chain) {
++ constructor(railgunSmartWalletContractAddress, defaultProvider,
++ /**
++ * @deprecated pollingProvider will be removed in the next major version.
++ */
++ pollingProvider,
++ // @ts-ignore - Ignore optional param last requirement during deprecation
++ chain) {
+ super();
+ this.address = railgunSmartWalletContractAddress;
+ this.contract = new ethers_1.Contract(railgunSmartWalletContractAddress, abi_1.ABIRailgunSmartWallet, defaultProvider);
+- // Because of a 'stallTimeout' bug in Ethers v6, all providers in a FallbackProvider will get called simultaneously.
+- // So, we'll use a single json rpc (the first in the FallbackProvider) to poll for the event listeners.
+- (0, polling_util_1.assertIsPollingProvider)(pollingProvider);
+- this.contractForListeners = new ethers_1.Contract(railgunSmartWalletContractAddress, abi_1.ABIRailgunSmartWallet, pollingProvider);
+ this.chain = chain;
+ }
+ /**
+@@ -165,7 +167,7 @@ class RailgunSmartWalletContract extends events_1.default {
+ const shieldTopic = this.contract.getEvent('Shield').getFragment().topicHash;
+ const transactTopic = this.contract.getEvent('Transact').getFragment().topicHash;
+ const unshieldTopic = this.contract.getEvent('Unshield').getFragment().topicHash;
+- await this.contractForListeners.on(
++ await this.contract.on(
+ // @ts-expect-error - Use * to request all events
+ '*', // All Events
+ (event) => {
+@@ -388,7 +390,6 @@ class RailgunSmartWalletContract extends events_1.default {
+ */
+ async unload() {
+ await this.contract.removeAllListeners();
+- await this.contractForListeners?.removeAllListeners();
+ }
+ }
+ exports.RailgunSmartWalletContract = RailgunSmartWalletContract;
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.js.map b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.js.map
+index 0a00376..bdd08be 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.js.map
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.js.map
+@@ -1 +1 @@
+-{"version":3,"file":"railgun-smart-wallet.js","sourceRoot":"","sources":["../../../../src/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.ts"],"names":[],"mappings":"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"}
+\ No newline at end of file
++{"version":3,"file":"railgun-smart-wallet.js","sourceRoot":"","sources":["../../../../src/contracts/railgun-smart-wallet/V2/railgun-smart-wallet.ts"],"names":[],"mappings":"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"}
+\ No newline at end of file
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.d.ts b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.d.ts
+index 5f421bc..1d70eff 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.d.ts
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.d.ts
+@@ -1,19 +1,27 @@
+ ///
+-import { FallbackProvider } from 'ethers';
++import { Provider } from 'ethers';
+ import EventEmitter from 'events';
+ import { Chain } from '../../../models/engine-types';
+-import { PollingJsonRpcProvider } from '../../../provider/polling-json-rpc-provider';
+ import { PoseidonMerkleAccumulator } from '../../../abi/typechain/PoseidonMerkleAccumulator';
+ import { EventsCommitmentListener, EventsNullifierListener, EventsRailgunTransactionListenerV3, EventsUnshieldListener } from '../../../models/event-types';
+ import { TXIDVersion } from '../../../models/poi-types';
+ export declare class PoseidonMerkleAccumulatorContract extends EventEmitter {
+ readonly contract: PoseidonMerkleAccumulator;
+- readonly contractForListeners: PoseidonMerkleAccumulator;
+ readonly address: string;
+ readonly chain: Chain;
+ readonly txidVersion = TXIDVersion.V3_PoseidonMerkle;
+ private readonly eventTopic;
+- constructor(address: string, provider: PollingJsonRpcProvider | FallbackProvider, pollingProvider: PollingJsonRpcProvider, chain: Chain);
++ /**
++ * @param address
++ * @param provider
++ * @param pollingProvider - DEPRECATED
++ * @param chain
++ */
++ constructor(address: string, provider: Provider,
++ /**
++ * @deprecated pollingProvider will be removed in the next major version.
++ */
++ pollingProvider?: Provider, chain: Chain);
+ /**
+ * Get current merkle root
+ */
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.js b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.js
+index 6092094..f7f5859 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.js
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.js
+@@ -9,7 +9,6 @@ const events_1 = __importDefault(require("events"));
+ const abi_1 = require("../../../abi/abi");
+ const bytes_1 = require("../../../utils/bytes");
+ const debugger_1 = __importDefault(require("../../../debugger/debugger"));
+-const polling_util_1 = require("../../../provider/polling-util");
+ const event_types_1 = require("../../../models/event-types");
+ const poi_types_1 = require("../../../models/poi-types");
+ const V3_events_1 = require("./V3-events");
+@@ -21,21 +20,28 @@ const EVENTS_SCAN_TIMEOUT = 5000;
+ const SCAN_TIMEOUT_ERROR_MESSAGE = 'getLogs request timed out after 5 seconds.';
+ class PoseidonMerkleAccumulatorContract extends events_1.default {
+ contract;
+- contractForListeners;
+ address;
+ chain;
+ txidVersion = poi_types_1.TXIDVersion.V3_PoseidonMerkle;
+ eventTopic;
+- constructor(address, provider, pollingProvider, chain) {
++ /**
++ * @param address
++ * @param provider
++ * @param pollingProvider - DEPRECATED
++ * @param chain
++ */
++ constructor(address, provider,
++ /**
++ * @deprecated pollingProvider will be removed in the next major version.
++ */
++ pollingProvider,
++ // @ts-ignore - Ignore optional param last requirement during deprecation
++ chain) {
+ super();
+ this.address = address;
+ this.contract = new ethers_1.Contract(address, abi_1.ABIPoseidonMerkleAccumulator, provider);
+ this.eventTopic = this.contract.getEvent('AccumulatorStateUpdate').getFragment().topicHash;
+ this.chain = chain;
+- // Because of a 'stallTimeout' bug in Ethers v6, all providers in a FallbackProvider will get called simultaneously.
+- // So, we'll use a single json rpc (the first in the FallbackProvider) to poll for the event listeners.
+- (0, polling_util_1.assertIsPollingProvider)(pollingProvider);
+- this.contractForListeners = new ethers_1.Contract(address, abi_1.ABIPoseidonMerkleAccumulator, pollingProvider);
+ }
+ /**
+ * Get current merkle root
+@@ -66,7 +72,7 @@ class PoseidonMerkleAccumulatorContract extends events_1.default {
+ * Listens for update events.
+ */
+ async setTreeUpdateListeners(eventsCommitmentListener, eventsNullifierListener, eventsUnshieldListener, eventsRailgunTransactionsV3Listener, triggerWalletBalanceDecryptions) {
+- await this.contractForListeners.on(this.eventTopic, (event) => {
++ await this.contract.on(this.eventTopic, (event) => {
+ try {
+ if (event.log.topics.length !== 1) {
+ throw new Error('Requires one topic for railgun events');
+@@ -161,7 +167,6 @@ class PoseidonMerkleAccumulatorContract extends events_1.default {
+ */
+ async unload() {
+ await this.contract.removeAllListeners();
+- await this.contractForListeners?.removeAllListeners();
+ }
+ }
+ exports.PoseidonMerkleAccumulatorContract = PoseidonMerkleAccumulatorContract;
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.js.map b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.js.map
+index 20ba043..8c9f91c 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.js.map
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.js.map
+@@ -1 +1 @@
+-{"version":3,"file":"poseidon-merkle-accumulator.js","sourceRoot":"","sources":["../../../../src/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.ts"],"names":[],"mappings":"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"}
+\ No newline at end of file
++{"version":3,"file":"poseidon-merkle-accumulator.js","sourceRoot":"","sources":["../../../../src/contracts/railgun-smart-wallet/V3/poseidon-merkle-accumulator.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA0E;AAC1E,oDAAkC;AAGlC,0CAAgE;AAChE,gDAA6D;AAC7D,0EAAqD;AACrD,6DAMqC;AACrC,yDAAwD;AACxD,2CAAuC;AACvC,sDAAyD;AACzD,kDAAgE;AAIhE,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,0BAA0B,GAAG,4CAA4C,CAAC;AAEhF,MAAa,iCAAkC,SAAQ,gBAAY;IACxD,QAAQ,CAA4B;IAEpC,OAAO,CAAS;IAEhB,KAAK,CAAQ;IAEb,WAAW,GAAG,uBAAW,CAAC,iBAAiB,CAAC;IAEpC,UAAU,CAAS;IAEpC;;;;;OAKG;IACH,YACE,OAAe,EACf,QAAkB;IAClB;;MAEE;IACF,eAA0B;IAC1B,yEAAyE;IACzE,KAAY;QAEZ,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAQ,CAC1B,OAAO,EACP,kCAA4B,EAC5B,QAAQ,CAC+B,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;QAC3F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,iBAAS,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,IAAY;QACjD,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvD,IAAI,EACJ,iBAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,kBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAC9D,CAAC;YACF,uDAAuD;YACvD,uBAAuB;YACvB,2FAA2F;YAC3F,OAAO;YACP,IAAI;YACJ,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9E,kBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAC1B,wBAAkD,EAClD,uBAAgD,EAChD,sBAA8C,EAC9C,mCAAuE,EACvE,+BAA4E;QAE5E,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,UAAiB,EAAE,CAAC,KAA2B,EAAE,EAAE;YAC7E,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC3D,CAAC;gBAED,mEAAmE;gBACnE,oBAAQ,CAAC,uBAAuB,CAC9B,IAAI,CAAC,WAAW,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,GAAG,CAAC,eAAe,EACzB,KAAK,CAAC,GAAG,CAAC,WAAW,EACrB,wBAAwB,EACxB,KAAK,EAAE,WAAwB,EAAE,UAAuB,EAAE,EAAE;oBAC1D,mEAAmE;oBACnE,uBAAuB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;oBACjD,IAAI,CAAC,IAAI,CAAC,yBAAW,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;gBAC/D,CAAC,EACD,sBAAsB,EACtB,mCAAmC,EACnC,+BAA+B,CAChC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;oBACzB,kBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;gBACD,IAAI,kBAAW,CAAC,SAAS,EAAE,EAAE,CAAC;oBAC5B,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,UAAkB,EAClB,QAAgB,EAChB,UAAU,GAAG,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAc,EACjC,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAC9C,UAAU,EACV,QAAQ,CACT,EACD,mBAAmB,EACnB,0BAA0B,CAC3B,CAAC;YACF,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnD,GAAG,KAAK;gBACR,IAAI,EAAE,IAAA,gCAAuB,EAAC,KAAK,CAAC,IAAyB,CAAC;aAC/D,CAAC,CAAC,CAAC;YACJ,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,IAAI,UAAU,GAAG,gBAAgB,IAAI,KAAK,CAAC,OAAO,KAAK,0BAA0B,EAAE,CAAC;gBAClF,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC;gBAC7B,kBAAW,CAAC,GAAG,CACb,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,IACvB,IAAI,CAAC,KAAK,CAAC,EACb,gCAAgC,UAAU,cAAc,gBAAgB,GAAG,KAAK,SAAS,CAC1F,CAAC;gBACF,kBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;YACD,kBAAW,CAAC,GAAG,CACb,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,2BAA2B,UAAU,uBAAuB,CACvG,CAAC;YACF,kBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CACvB,iBAAyB,EACzB,WAAmB,EACnB,oCAA2D,EAC3D,wBAAkD,EAClD,uBAAgD,EAChD,sBAA8C,EAC9C,mCAAuE,EACvE,kBAA8D;QAE9D,IAAI,iBAAiB,GAAG,iBAAiB,CAAC;QAE1C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAE7B,kBAAW,CAAC,GAAG,CACb,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,WAAW,2CAA2C,iBAAiB,OAAO,WAAW,EAAE,CAC7I,CAAC;QAEF,IAAI,sBAAsB,GAAG,iBAAiB,CAAC;QAE/C,OAAO,iBAAiB,GAAG,WAAW,EAAE,CAAC;YACvC,qDAAqD;YAErD,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC/D,kBAAW,CAAC,GAAG,CACb,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,WAAW,kCAAkC,iBAAiB,MAAM,CACtH,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,GAAG,WAAW,CAAC,CAAC;YAExE,4CAA4C;YAC5C,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;YAE3F,4CAA4C;YAC5C,MAAM,oBAAQ,CAAC,8BAA8B,CAC3C,IAAI,CAAC,WAAW,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,mCAAmC,CACpC,CAAC;YAEF,4CAA4C;YAC5C,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAEnC,MAAM,8BAA8B,GAAG,iBAAiB,GAAG,WAAW,GAAG,CAAC,CAAC;YAC3E,MAAM,4CAA4C;YAChD,4CAA4C;YAC5C,MAAM,oCAAoC,EAAE,CAAC;YAE/C,qBAAqB;YACrB,yCAAyC;YACzC,sCAAsC;YACtC,wGAAwG;YACxG,uHAAuH;YACvH,sDAAsD;YACtD,IAAI,4CAA4C,GAAG,8BAA8B,EAAE,CAAC;gBAClF,iBAAiB,GAAG,4CAA4C,CAAC;gBACjE,sBAAsB,GAAG,4CAA4C,CAAC;gBACtE,kBAAW,CAAC,GAAG,CACb,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,eACxC,8BAA8B,GAAG,4CACnC,uDAAuD,CACxD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,iBAAiB,GAAG,8BAA8B,CAAC;YACrD,CAAC;QACH,CAAC;QAED,kBAAW,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAmC,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAC3C,CAAC;CACF;AA9OD,8EA8OC"}
+\ No newline at end of file
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.d.ts b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.d.ts
+index 9138e2a..a7336f5 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.d.ts
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.d.ts
+@@ -1,10 +1,9 @@
+-import { ContractTransaction, FallbackProvider } from 'ethers';
+-import { PollingJsonRpcProvider } from '../../../provider/polling-json-rpc-provider';
++import { ContractTransaction, Provider } from 'ethers';
+ import { PoseidonMerkleVerifier } from '../../../abi/typechain/PoseidonMerkleVerifier';
+ import { ShieldCiphertextStruct } from '../../../abi/typechain/RailgunSmartWallet';
+ export declare class PoseidonMerkleVerifierContract {
+ readonly contract: PoseidonMerkleVerifier;
+ readonly address: string;
+- constructor(address: string, provider: PollingJsonRpcProvider | FallbackProvider);
++ constructor(address: string, provider: Provider);
+ generateExecute(transactions: PoseidonMerkleVerifier.TransactionStruct[], shields: PoseidonMerkleVerifier.ShieldRequestStruct[], globalBoundParams: PoseidonMerkleVerifier.GlobalBoundParamsStruct, unshieldChangeCiphertext: ShieldCiphertextStruct): Promise;
+ }
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.js.map b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.js.map
+index c12812a..bbc9e89 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.js.map
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.js.map
+@@ -1 +1 @@
+-{"version":3,"file":"poseidon-merkle-verifier.js","sourceRoot":"","sources":["../../../../src/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.ts"],"names":[],"mappings":";;;AAAA,mCAAyE;AAGzE,0CAA6D;AAG7D,MAAa,8BAA8B;IAChC,QAAQ,CAAyB;IAEjC,OAAO,CAAS;IAEzB,YAAY,OAAe,EAAE,QAAmD;QAC9E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAQ,CAC1B,OAAO,EACP,+BAAyB,EACzB,QAAQ,CAC4B,CAAC;IACzC,CAAC;IAED,eAAe,CACb,YAAwD,EACxD,OAAqD,EACrD,iBAAiE,EACjE,wBAAgD;QAEhD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAC9C,YAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,wBAAwB,CACzB,CAAC;IACJ,CAAC;CACF;AA3BD,wEA2BC"}
+\ No newline at end of file
++{"version":3,"file":"poseidon-merkle-verifier.js","sourceRoot":"","sources":["../../../../src/contracts/railgun-smart-wallet/V3/poseidon-merkle-verifier.ts"],"names":[],"mappings":";;;AAAA,mCAAiE;AAEjE,0CAA6D;AAG7D,MAAa,8BAA8B;IAChC,QAAQ,CAAyB;IAEjC,OAAO,CAAS;IAEzB,YAAY,OAAe,EAAE,QAAkB;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAQ,CAC1B,OAAO,EACP,+BAAyB,EACzB,QAAQ,CAC4B,CAAC;IACzC,CAAC;IAED,eAAe,CACb,YAAwD,EACxD,OAAqD,EACrD,iBAAiE,EACjE,wBAAgD;QAEhD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAC9C,YAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,wBAAwB,CACzB,CAAC;IACJ,CAAC;CACF;AA3BD,wEA2BC"}
+\ No newline at end of file
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/token-vault-contract.d.ts b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/token-vault-contract.d.ts
+index 9f63c9f..4b86ca0 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/token-vault-contract.d.ts
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/token-vault-contract.d.ts
+@@ -1,10 +1,9 @@
+-import { FallbackProvider } from 'ethers';
++import { Provider } from 'ethers';
+ import { TokenDataStructOutput, TokenVault } from '../../../abi/typechain/TokenVault';
+-import { PollingJsonRpcProvider } from '../../../provider/polling-json-rpc-provider';
+ export declare class TokenVaultContract {
+ readonly contract: TokenVault;
+ readonly address: string;
+- constructor(address: string, provider: PollingJsonRpcProvider | FallbackProvider);
++ constructor(address: string, provider: Provider);
+ /**
+ * Gets transaction fees in basis points.
+ */
+diff --git a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/token-vault-contract.js.map b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/token-vault-contract.js.map
+index ac121c7..0d0e46e 100644
+--- a/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/token-vault-contract.js.map
++++ b/node_modules/@railgun-community/engine/dist/contracts/railgun-smart-wallet/V3/token-vault-contract.js.map
+@@ -1 +1 @@
+-{"version":3,"file":"token-vault-contract.js","sourceRoot":"","sources":["../../../../src/contracts/railgun-smart-wallet/V3/token-vault-contract.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAoD;AAGpD,0CAAiD;AACjD,gDAA6D;AAC7D,0EAAqD;AAErD,MAAa,kBAAkB;IACpB,QAAQ,CAAa;IAErB,OAAO,CAAS;IAEzB,YAAY,OAAe,EAAE,QAAmD;QAC9E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAQ,CAAC,OAAO,EAAE,mBAAa,EAAE,QAAQ,CAA0B,CAAC;IAC1F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QAIR,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;SAC5B,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,WAAW;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,iBAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9F,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,kBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAxCD,gDAwCC"}
+\ No newline at end of file
++{"version":3,"file":"token-vault-contract.js","sourceRoot":"","sources":["../../../../src/contracts/railgun-smart-wallet/V3/token-vault-contract.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA4C;AAE5C,0CAAiD;AACjD,gDAA6D;AAC7D,0EAAqD;AAErD,MAAa,kBAAkB;IACpB,QAAQ,CAAa;IAErB,OAAO,CAAS;IAEzB,YAAY,OAAe,EAAE,QAAkB;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAQ,CAAC,OAAO,EAAE,mBAAa,EAAE,QAAQ,CAA0B,CAAC;IAC1F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QAIR,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;SAC5B,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,WAAW;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,iBAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9F,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,kBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAxCD,gDAwCC"}
+\ No newline at end of file
+diff --git a/node_modules/@railgun-community/engine/dist/railgun-engine.d.ts b/node_modules/@railgun-community/engine/dist/railgun-engine.d.ts
+index 70dcd36..3768a01 100644
+--- a/node_modules/@railgun-community/engine/dist/railgun-engine.d.ts
++++ b/node_modules/@railgun-community/engine/dist/railgun-engine.d.ts
+@@ -1,7 +1,7 @@
+ ///
+ import type { AbstractLevelDOWN } from 'abstract-leveldown';
+ import EventEmitter from 'events';
+-import { FallbackProvider } from 'ethers';
++import type { Provider } from 'ethers';
+ import { RailgunSmartWalletContract } from './contracts/railgun-smart-wallet/V2/railgun-smart-wallet';
+ import { RelayAdaptV2Contract } from './contracts/relay-adapt/V2/relay-adapt-v2';
+ import { Database } from './database/database';
+@@ -14,7 +14,6 @@ import { GetLatestValidatedRailgunTxid, QuickSyncEvents, QuickSyncRailgunTransac
+ import { ViewOnlyWallet } from './wallet/view-only-wallet';
+ import { AbstractWallet } from './wallet/abstract-wallet';
+ import { ArtifactGetter } from './models/prover-types';
+-import { PollingJsonRpcProvider } from './provider/polling-json-rpc-provider';
+ import { UTXOMerkletree } from './merkletree/utxo-merkletree';
+ import { TXIDMerkletree } from './merkletree/txid-merkletree';
+ import { MerklerootValidator } from './models/merkletree-types';
+@@ -135,12 +134,23 @@ declare class RailgunEngine extends EventEmitter {
+ private static validateMerkleroot;
+ /**
+ * Load network
++ * @param chain
+ * @param railgunSmartWalletContractAddress - address of railgun instance (proxy contract)
+ * @param relayAdaptV2ContractAddress - address of railgun instance (proxy contract)
+- * @param provider - ethers provider for network
+- * @param deploymentBlock - block number to start scanning from
+- */
+- loadNetwork(chain: Chain, railgunSmartWalletContractAddress: string, relayAdaptV2ContractAddress: string, poseidonMerkleAccumulatorV3Address: string, poseidonMerkleVerifierV3Address: string, tokenVaultV3Address: string, defaultProvider: PollingJsonRpcProvider | FallbackProvider, pollingProvider: PollingJsonRpcProvider, deploymentBlocks: Record, poiLaunchBlock: Optional, supportsV3: boolean): Promise;
++ * @param poseidonMerkleAccumulatorV3Address
++ * @param poseidonMerkleVerifierV3Address
++ * @param tokenVaultV3Address
++ * @param defaultProvider - ethers provider for network
++ * @param pollingProvider - DEPRECATED
++ * @param deploymentBlocks - block number to start scanning from
++ * @param poiLaunchBlock
++ * @param supportsV3
++ */
++ loadNetwork(chain: Chain, railgunSmartWalletContractAddress: string, relayAdaptV2ContractAddress: string, poseidonMerkleAccumulatorV3Address: string, poseidonMerkleVerifierV3Address: string, tokenVaultV3Address: string, defaultProvider: Provider,
++ /**
++ * @deprecated pollingProvider will be removed in the next major version.
++ */
++ pollingProvider?: Provider, deploymentBlocks: Record, poiLaunchBlock: Optional, supportsV3: boolean): Promise;
+ /**
+ * Unload network
+ * @param chain - chainID of network to unload
+diff --git a/node_modules/@railgun-community/engine/dist/railgun-engine.js b/node_modules/@railgun-community/engine/dist/railgun-engine.js
+index dfd6202..530c3bf 100644
+--- a/node_modules/@railgun-community/engine/dist/railgun-engine.js
++++ b/node_modules/@railgun-community/engine/dist/railgun-engine.js
+@@ -21,7 +21,6 @@ const wallet_info_1 = __importDefault(require("./wallet/wallet-info"));
+ const chain_1 = require("./chain/chain");
+ const contract_store_1 = require("./contracts/contract-store");
+ const constants_1 = require("./utils/constants");
+-const polling_util_1 = require("./provider/polling-util");
+ const is_defined_1 = require("./utils/is-defined");
+ const utxo_merkletree_1 = require("./merkletree/utxo-merkletree");
+ const txid_merkletree_1 = require("./merkletree/txid-merkletree");
+@@ -921,12 +920,25 @@ class RailgunEngine extends events_1.default {
+ }
+ /**
+ * Load network
++ * @param chain
+ * @param railgunSmartWalletContractAddress - address of railgun instance (proxy contract)
+ * @param relayAdaptV2ContractAddress - address of railgun instance (proxy contract)
+- * @param provider - ethers provider for network
+- * @param deploymentBlock - block number to start scanning from
+- */
+- async loadNetwork(chain, railgunSmartWalletContractAddress, relayAdaptV2ContractAddress, poseidonMerkleAccumulatorV3Address, poseidonMerkleVerifierV3Address, tokenVaultV3Address, defaultProvider, pollingProvider, deploymentBlocks, poiLaunchBlock, supportsV3) {
++ * @param poseidonMerkleAccumulatorV3Address
++ * @param poseidonMerkleVerifierV3Address
++ * @param tokenVaultV3Address
++ * @param defaultProvider - ethers provider for network
++ * @param pollingProvider - DEPRECATED
++ * @param deploymentBlocks - block number to start scanning from
++ * @param poiLaunchBlock
++ * @param supportsV3
++ */
++ async loadNetwork(chain, railgunSmartWalletContractAddress, relayAdaptV2ContractAddress, poseidonMerkleAccumulatorV3Address, poseidonMerkleVerifierV3Address, tokenVaultV3Address, defaultProvider,
++ /**
++ * @deprecated pollingProvider will be removed in the next major version.
++ */
++ pollingProvider,
++ // @ts-ignore - Ignore optional param last requirement during deprecation
++ deploymentBlocks, poiLaunchBlock, supportsV3) {
+ debugger_1.default.log(`loadNetwork: ${chain.type}:${chain.id}`);
+ try {
+ await (0, promises_1.promiseTimeout)(defaultProvider.getBlockNumber(), 60_000, 'Timed out waiting for default RPC provider to connect.');
+@@ -936,17 +948,6 @@ class RailgunEngine extends events_1.default {
+ debugger_1.default.error(err);
+ throw err;
+ }
+- (0, polling_util_1.assertIsPollingProvider)(pollingProvider);
+- try {
+- await (0, promises_1.promiseTimeout)(pollingProvider.getBlockNumber(), 60_000, 'Timed out waiting for polling RPC provider to connect.');
+- }
+- catch (cause) {
+- const err = new Error('Failed to get block number from polling provider when loading network', {
+- cause,
+- });
+- debugger_1.default.error(cause);
+- throw err;
+- }
+ if (supportsV3) {
+ (0, chain_1.addChainSupportsV3)(chain);
+ }
+diff --git a/node_modules/@railgun-community/engine/dist/railgun-engine.js.map b/node_modules/@railgun-community/engine/dist/railgun-engine.js.map
+index d754409..ef0f21e 100644
+--- a/node_modules/@railgun-community/engine/dist/railgun-engine.js.map
++++ b/node_modules/@railgun-community/engine/dist/railgun-engine.js.map
+@@ -1 +1 @@
+-{"version":3,"file":"railgun-engine.js","sourceRoot":"","sources":["../src/railgun-engine.ts"],"names":[],"mappings":"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"}
+\ No newline at end of file
++{"version":3,"file":"railgun-engine.js","sourceRoot":"","sources":["../src/railgun-engine.ts"],"names":[],"mappings":"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"}
+\ No newline at end of file
diff --git a/patches/@railgun-community+shared-models+7.5.0.patch b/patches/@railgun-community+shared-models+7.5.0.patch
new file mode 100644
index 0000000..1d30884
--- /dev/null
+++ b/patches/@railgun-community+shared-models+7.5.0.patch
@@ -0,0 +1,241 @@
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.d.ts b/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.d.ts
+index a84b244..e144017 100644
+--- a/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.d.ts
++++ b/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.d.ts
+@@ -1,4 +1,4 @@
+-import { ProviderJson } from './fallback-provider';
++import { ProviderJson } from './provider';
+ type LogError = (err: string) => void;
+ /**
+ * Health checks ProviderJson inputs, and returns an array of available RPC providers.
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.js b/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.js
+index b87c16f..78e1f9f 100644
+--- a/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.js
++++ b/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.js
+@@ -36,9 +36,18 @@ const getAvailableProviderJSONs = async (chainId, providerJsons, logError) => {
+ exports.getAvailableProviderJSONs = getAvailableProviderJSONs;
+ const getBlockNumber = async (chainId, provider, logError) => {
+ const network = ethers_1.Network.from(chainId);
+- const rpcProvider = new ethers_1.JsonRpcProvider(provider, network, {
+- staticNetwork: network,
+- });
++ // Conditionally handle what type of provider is being passed
++ let rpcProvider;
++ if (provider.startsWith('wss')) {
++ rpcProvider = new ethers_1.WebSocketProvider(provider, network, {
++ staticNetwork: network, // Network is dictated in the RPC URL, will not change
++ });
++ }
++ else {
++ rpcProvider = new ethers_1.JsonRpcProvider(provider, network, {
++ staticNetwork: network, // Network is dictated in the RPC URL, will not change
++ });
++ }
+ try {
+ const block = await (0, promises_1.promiseTimeout)(rpcProvider.getBlock('latest'), BLOCK_NUMBER_TIMEOUT_MS);
+ if (block == null) {
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.js.map b/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.js.map
+index b2f79ce..87b1a61 100644
+--- a/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.js.map
++++ b/node_modules/@railgun-community/shared-models/dist/utils/available-rpc.js.map
+@@ -1 +1 @@
+-{"version":3,"file":"available-rpc.js","sourceRoot":"","sources":["../../src/utils/available-rpc.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,mCAAkD;AAElD,qCAA+C;AAC/C,yCAA4C;AAI5C,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACI,MAAM,yBAAyB,GAAG,KAAK,EAC5C,OAAe,EACf,aAA6B,EAC7B,QAAkB,EACO,EAAE;IAC3B,MAAM,YAAY,GAAuB,MAAM,OAAO,CAAC,GAAG,CACxD,aAAa,CAAC,GAAG,CACf,KAAK,EAAC,YAAY,EAAC,EAAE,CACnB,MAAM,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACjE,CACF,CAAC;IAEF,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAC7C,WAAW,CAAC,EAAE,CAAC,WAAW,IAAI,IAAI,IAAI,WAAW,GAAG,CAAC,CAC1C,CAAC;IACd,MAAM,iBAAiB,GAAG,IAAA,4BAAmB,EAAC,mBAAmB,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,iBAAiB,GAAG,GAAG,CAAC;IAChD,MAAM,eAAe,GAAG,iBAAiB,GAAG,GAAG,CAAC;IAEhD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,QAAQ,CACN,+BAA+B,YAAY,CAAC,QAAQ,mBAAmB,CACxE,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QACD,IAAI,WAAW,GAAG,eAAe,EAAE;YACjC,QAAQ,CACN,+BAA+B,YAAY,CAAC,QAAQ,mBAClD,iBAAiB,GAAG,WACtB,cAAc,CACf,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QACD,IAAI,WAAW,GAAG,eAAe,EAAE;YACjC,QAAQ,CACN,+BAA+B,YAAY,CAAC,QAAQ,mBAClD,WAAW,GAAG,iBAChB,cAAc,CACf,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA7CW,QAAA,yBAAyB,6BA6CpC;AAEF,MAAM,cAAc,GAAG,KAAK,EAC1B,OAAe,EACf,QAAgB,EAChB,QAAkB,EACS,EAAE;IAC7B,MAAM,OAAO,GAAG,gBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,wBAAe,CAAC,QAAQ,EAAE,OAAO,EAAE;QACzD,aAAa,EAAE,OAAO;KACvB,CAAC,CAAC;IACH,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAc,EAChC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC9B,uBAAuB,CACxB,CAAC;QACF,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;SAClC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC;KACrB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;SACpE;QACD,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC","sourcesContent":["/// \nimport { JsonRpcProvider, Network } from 'ethers';\nimport { ProviderJson } from './fallback-provider';\nimport { getUpperBoundMedian } from './median';\nimport { promiseTimeout } from './promises';\n\ntype LogError = (err: string) => void;\n\nconst BLOCK_NUMBER_TIMEOUT_MS = 5000;\n\n/**\n * Health checks ProviderJson inputs, and returns an array of available RPC providers.\n * Available means that they respond to getBlockNumber(), and they are +/- 100 blocks from the median.\n */\nexport const getAvailableProviderJSONs = async (\n chainId: number,\n providerJsons: ProviderJson[],\n logError: LogError,\n): Promise => {\n const blockNumbers: Optional[] = await Promise.all(\n providerJsons.map(\n async providerJson =>\n await getBlockNumber(chainId, providerJson.provider, logError),\n ),\n );\n\n const nonZeroBlockNumbers = blockNumbers.filter(\n blockNumber => blockNumber != null && blockNumber > 0,\n ) as number[];\n const medianBlockNumber = getUpperBoundMedian(nonZeroBlockNumbers);\n const lowerBoundRange = medianBlockNumber - 100;\n const upperBoundRange = medianBlockNumber + 100;\n\n return providerJsons.filter((providerJson, index) => {\n const blockNumber = blockNumbers[index];\n if (blockNumber == null) {\n logError(\n `RPC Health Check failed for ${providerJson.provider}: No Block Number`,\n );\n return false;\n }\n if (blockNumber < lowerBoundRange) {\n logError(\n `RPC Health Check failed for ${providerJson.provider}: Block Number -${\n medianBlockNumber - blockNumber\n } from median`,\n );\n return false;\n }\n if (blockNumber > upperBoundRange) {\n logError(\n `RPC Health Check failed for ${providerJson.provider}: Block Number +${\n blockNumber - medianBlockNumber\n } from median`,\n );\n return false;\n }\n return true;\n });\n};\n\nconst getBlockNumber = async (\n chainId: number,\n provider: string,\n logError: LogError,\n): Promise> => {\n const network = Network.from(chainId);\n const rpcProvider = new JsonRpcProvider(provider, network, {\n staticNetwork: network,\n });\n try {\n const block = await promiseTimeout(\n rpcProvider.getBlock('latest'),\n BLOCK_NUMBER_TIMEOUT_MS,\n );\n if (block == null) {\n throw new Error('Block is null');\n }\n return block.number;\n } catch (cause) {\n if (!(cause instanceof Error)) {\n throw new Error('Non-error thrown from getBlockNumber', { cause });\n }\n rpcProvider.destroy();\n logError(cause.message);\n return undefined;\n }\n};\n"]}
+\ No newline at end of file
++{"version":3,"file":"available-rpc.js","sourceRoot":"","sources":["../../src/utils/available-rpc.ts"],"names":[],"mappings":"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","sourcesContent":["/// \nimport { JsonRpcProvider, Network, type Provider, WebSocketProvider } from 'ethers';\nimport { ProviderJson } from './provider';\nimport { getUpperBoundMedian } from './median';\nimport { promiseTimeout } from './promises';\n\ntype LogError = (err: string) => void;\n\nconst BLOCK_NUMBER_TIMEOUT_MS = 5000;\n\n/**\n * Health checks ProviderJson inputs, and returns an array of available RPC providers.\n * Available means that they respond to getBlockNumber(), and they are +/- 100 blocks from the median.\n */\nexport const getAvailableProviderJSONs = async (\n chainId: number,\n providerJsons: ProviderJson[],\n logError: LogError,\n): Promise => {\n const blockNumbers: Optional[] = await Promise.all(\n providerJsons.map(\n async providerJson =>\n await getBlockNumber(chainId, providerJson.provider, logError),\n ),\n );\n\n const nonZeroBlockNumbers = blockNumbers.filter(\n blockNumber => blockNumber != null && blockNumber > 0,\n ) as number[];\n const medianBlockNumber = getUpperBoundMedian(nonZeroBlockNumbers);\n const lowerBoundRange = medianBlockNumber - 100;\n const upperBoundRange = medianBlockNumber + 100;\n\n return providerJsons.filter((providerJson, index) => {\n const blockNumber = blockNumbers[index];\n if (blockNumber == null) {\n logError(\n `RPC Health Check failed for ${providerJson.provider}: No Block Number`,\n );\n return false;\n }\n if (blockNumber < lowerBoundRange) {\n logError(\n `RPC Health Check failed for ${providerJson.provider}: Block Number -${\n medianBlockNumber - blockNumber\n } from median`,\n );\n return false;\n }\n if (blockNumber > upperBoundRange) {\n logError(\n `RPC Health Check failed for ${providerJson.provider}: Block Number +${\n blockNumber - medianBlockNumber\n } from median`,\n );\n return false;\n }\n return true;\n });\n};\n\nconst getBlockNumber = async (\n chainId: number,\n provider: string,\n logError: LogError,\n): Promise> => {\n const network = Network.from(chainId);\n\n // Conditionally handle what type of provider is being passed\n let rpcProvider: Provider;\n if(provider.startsWith('wss')) {\n rpcProvider = new WebSocketProvider(provider, network, {\n staticNetwork: network, // Network is dictated in the RPC URL, will not change\n });\n } else {\n rpcProvider = new JsonRpcProvider(provider, network, {\n staticNetwork: network, // Network is dictated in the RPC URL, will not change\n });\n }\n\n try {\n const block = await promiseTimeout(\n rpcProvider.getBlock('latest'),\n BLOCK_NUMBER_TIMEOUT_MS,\n );\n if (block == null) {\n throw new Error('Block is null');\n }\n return block.number;\n } catch (cause) {\n if (!(cause instanceof Error)) {\n throw new Error('Non-error thrown from getBlockNumber', { cause });\n }\n rpcProvider.destroy();\n logError(cause.message);\n return undefined;\n }\n};\n"]}
+\ No newline at end of file
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/fallback-provider.js b/node_modules/@railgun-community/shared-models/dist/utils/fallback-provider.js
+deleted file mode 100644
+index 75cd1e7..0000000
+--- a/node_modules/@railgun-community/shared-models/dist/utils/fallback-provider.js
++++ /dev/null
+@@ -1,36 +0,0 @@
+-"use strict";
+-Object.defineProperty(exports, "__esModule", { value: true });
+-exports.createFallbackProviderFromJsonConfig = void 0;
+-const ethers_1 = require("ethers");
+-const configured_json_rpc_provider_1 = require("./configured-json-rpc-provider");
+-const createFallbackProviderFromJsonConfig = (config) => {
+- try {
+- const totalWeight = config.providers.reduce((acc, { weight }) => acc + weight, 0);
+- if (totalWeight < 2) {
+- throw new Error('Total weight across providers must be >= 2 for fallback quorum.');
+- }
+- const network = ethers_1.Network.from(Number(config.chainId));
+- const providers = config.providers.map(({ provider: providerURL, priority, weight, stallTimeout, maxLogsPerBatch, }) => {
+- const isWebsocket = providerURL.startsWith('wss');
+- const provider = isWebsocket
+- ? new ethers_1.WebSocketProvider(providerURL, network)
+- : new configured_json_rpc_provider_1.ConfiguredJsonRpcProvider(providerURL, network, maxLogsPerBatch);
+- const fallbackProviderConfig = {
+- provider,
+- priority,
+- weight,
+- stallTimeout,
+- };
+- return fallbackProviderConfig;
+- });
+- return new ethers_1.FallbackProvider(providers, network);
+- }
+- catch (cause) {
+- if (!(cause instanceof Error)) {
+- throw new Error('Non-error thrown from createFallbackProviderFromJsonConfig', { cause });
+- }
+- throw new Error(`Invalid fallback provider config for chain ${config.chainId}`, { cause });
+- }
+-};
+-exports.createFallbackProviderFromJsonConfig = createFallbackProviderFromJsonConfig;
+-//# sourceMappingURL=fallback-provider.js.map
+\ No newline at end of file
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/fallback-provider.js.map b/node_modules/@railgun-community/shared-models/dist/utils/fallback-provider.js.map
+deleted file mode 100644
+index 2118e5a..0000000
+--- a/node_modules/@railgun-community/shared-models/dist/utils/fallback-provider.js.map
++++ /dev/null
+@@ -1 +0,0 @@
+-{"version":3,"file":"fallback-provider.js","sourceRoot":"","sources":["../../src/utils/fallback-provider.ts"],"names":[],"mappings":";;;AAAA,mCAAsE;AACtE,iFAA2E;AAgBpE,MAAM,oCAAoC,GAAG,CAClD,MAAkC,EAChB,EAAE;IACpB,IAAI;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EACjC,CAAC,CACF,CAAC;QACF,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;SACH;QAED,MAAM,OAAO,GAAG,gBAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAErD,MAAM,SAAS,GAA6B,MAAM,CAAC,SAAS,CAAC,GAAG,CAC9D,CAAC,EACC,QAAQ,EAAE,WAAW,EACrB,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,eAAe,GAChB,EAAE,EAAE;YACH,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,WAAW;gBAC1B,CAAC,CAAC,IAAI,0BAAiB,CAAC,WAAW,EAAE,OAAO,CAAC;gBAC7C,CAAC,CAAC,IAAI,wDAAyB,CAC3B,WAAW,EACX,OAAO,EACP,eAAe,CAChB,CAAC;YAEN,MAAM,sBAAsB,GAA2B;gBACrD,QAAQ;gBACR,QAAQ;gBACR,MAAM;gBACN,YAAY;aACb,CAAC;YACF,OAAO,sBAAsB,CAAC;QAChC,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,yBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KACjD;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CACb,4DAA4D,EAC5D,EAAE,KAAK,EAAE,CACV,CAAC;SACH;QACD,MAAM,IAAI,KAAK,CACb,8CAA8C,MAAM,CAAC,OAAO,EAAE,EAC9D,EAAE,KAAK,EAAE,CACV,CAAC;KACH;AACH,CAAC,CAAC;AAxDW,QAAA,oCAAoC,wCAwD/C","sourcesContent":["import { FallbackProvider, Network, WebSocketProvider } from 'ethers';\nimport { ConfiguredJsonRpcProvider } from './configured-json-rpc-provider';\nimport { FallbackProviderConfig } from 'ethers/lib.commonjs/providers/provider-fallback';\n\nexport type FallbackProviderJsonConfig = {\n chainId: number;\n providers: ProviderJson[];\n};\n\nexport type ProviderJson = {\n priority: number;\n weight: number;\n provider: string;\n stallTimeout?: number;\n maxLogsPerBatch?: number;\n};\n\nexport const createFallbackProviderFromJsonConfig = (\n config: FallbackProviderJsonConfig,\n): FallbackProvider => {\n try {\n const totalWeight = config.providers.reduce(\n (acc, { weight }) => acc + weight,\n 0,\n );\n if (totalWeight < 2) {\n throw new Error(\n 'Total weight across providers must be >= 2 for fallback quorum.',\n );\n }\n\n const network = Network.from(Number(config.chainId));\n\n const providers: FallbackProviderConfig[] = config.providers.map(\n ({\n provider: providerURL,\n priority,\n weight,\n stallTimeout,\n maxLogsPerBatch,\n }) => {\n const isWebsocket = providerURL.startsWith('wss');\n const provider = isWebsocket\n ? new WebSocketProvider(providerURL, network)\n : new ConfiguredJsonRpcProvider(\n providerURL,\n network,\n maxLogsPerBatch,\n );\n\n const fallbackProviderConfig: FallbackProviderConfig = {\n provider,\n priority,\n weight,\n stallTimeout,\n };\n return fallbackProviderConfig;\n },\n );\n\n return new FallbackProvider(providers, network);\n } catch (cause) {\n if (!(cause instanceof Error)) {\n throw new Error(\n 'Non-error thrown from createFallbackProviderFromJsonConfig',\n { cause },\n );\n }\n throw new Error(\n `Invalid fallback provider config for chain ${config.chainId}`,\n { cause },\n );\n }\n};\n"]}
+\ No newline at end of file
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/index.d.ts b/node_modules/@railgun-community/shared-models/dist/utils/index.d.ts
+index 8a9c0c5..8480616 100644
+--- a/node_modules/@railgun-community/shared-models/dist/utils/index.d.ts
++++ b/node_modules/@railgun-community/shared-models/dist/utils/index.d.ts
+@@ -1,7 +1,7 @@
+ export * from './artifact-v2';
+ export * from './available-rpc';
+ export * from './compare';
+-export * from './fallback-provider';
++export * from './provider';
+ export * from './error';
+ export * from './format';
+ export * from './gas';
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/index.js b/node_modules/@railgun-community/shared-models/dist/utils/index.js
+index 3c2c697..8b5f57e 100644
+--- a/node_modules/@railgun-community/shared-models/dist/utils/index.js
++++ b/node_modules/@railgun-community/shared-models/dist/utils/index.js
+@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
+ __exportStar(require("./artifact-v2"), exports);
+ __exportStar(require("./available-rpc"), exports);
+ __exportStar(require("./compare"), exports);
+-__exportStar(require("./fallback-provider"), exports);
++__exportStar(require("./provider"), exports);
+ __exportStar(require("./error"), exports);
+ __exportStar(require("./format"), exports);
+ __exportStar(require("./gas"), exports);
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/index.js.map b/node_modules/@railgun-community/shared-models/dist/utils/index.js.map
+index c266b30..972acee 100644
+--- a/node_modules/@railgun-community/shared-models/dist/utils/index.js.map
++++ b/node_modules/@railgun-community/shared-models/dist/utils/index.js.map
+@@ -1 +1 @@
+-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,kDAAgC;AAChC,4CAA0B;AAC1B,sDAAoC;AACpC,0CAAwB;AACxB,2CAAyB;AACzB,wCAAsB;AACtB,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,6CAA2B","sourcesContent":["export * from './artifact-v2';\nexport * from './available-rpc';\nexport * from './compare';\nexport * from './fallback-provider';\nexport * from './error';\nexport * from './format';\nexport * from './gas';\nexport * from './network';\nexport * from './promises';\nexport * from './util';\nexport * from './versions';\n"]}
+\ No newline at end of file
++{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,kDAAgC;AAChC,4CAA0B;AAC1B,6CAA2B;AAC3B,0CAAwB;AACxB,2CAAyB;AACzB,wCAAsB;AACtB,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,6CAA2B","sourcesContent":["export * from './artifact-v2';\nexport * from './available-rpc';\nexport * from './compare';\nexport * from './provider';\nexport * from './error';\nexport * from './format';\nexport * from './gas';\nexport * from './network';\nexport * from './promises';\nexport * from './util';\nexport * from './versions';\n"]}
+\ No newline at end of file
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/fallback-provider.d.ts b/node_modules/@railgun-community/shared-models/dist/utils/provider.d.ts
+similarity index 55%
+rename from node_modules/@railgun-community/shared-models/dist/utils/fallback-provider.d.ts
+rename to node_modules/@railgun-community/shared-models/dist/utils/provider.d.ts
+index fec4ce9..3f9b115 100644
+--- a/node_modules/@railgun-community/shared-models/dist/utils/fallback-provider.d.ts
++++ b/node_modules/@railgun-community/shared-models/dist/utils/provider.d.ts
+@@ -1,4 +1,4 @@
+-import { FallbackProvider } from 'ethers';
++import { Provider } from 'ethers';
+ export type FallbackProviderJsonConfig = {
+ chainId: number;
+ providers: ProviderJson[];
+@@ -7,7 +7,8 @@ export type ProviderJson = {
+ priority: number;
+ weight: number;
+ provider: string;
++ chainId?: number;
+ stallTimeout?: number;
+ maxLogsPerBatch?: number;
+ };
+-export declare const createFallbackProviderFromJsonConfig: (config: FallbackProviderJsonConfig) => FallbackProvider;
++export declare const createProviderFromJsonConfig: (config: FallbackProviderJsonConfig | ProviderJson, pollingInterval?: number) => Provider;
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/provider.js b/node_modules/@railgun-community/shared-models/dist/utils/provider.js
+new file mode 100644
+index 0000000..3d56966
+--- /dev/null
++++ b/node_modules/@railgun-community/shared-models/dist/utils/provider.js
+@@ -0,0 +1,72 @@
++"use strict";
++Object.defineProperty(exports, "__esModule", { value: true });
++exports.createProviderFromJsonConfig = void 0;
++const ethers_1 = require("ethers");
++const configured_json_rpc_provider_1 = require("./configured-json-rpc-provider");
++const util_1 = require("./util");
++const createProviderFromJsonConfig = (config, pollingInterval) => {
++ try {
++ // Handle single provider case
++ if (!('providers' in config)) {
++ // Get RPC URL
++ const providerURL = config.provider;
++ // Ensure providerURL exists and is a string
++ if (!(0, util_1.isDefined)(providerURL)) {
++ throw new Error('provider is required for single provider configuration');
++ }
++ else if (typeof providerURL !== 'string') {
++ throw new Error('provider must be a string');
++ }
++ // Ensure chainId is present
++ if (!(0, util_1.isDefined)(config.chainId)) {
++ throw new Error('chainId is required for single provider configuration');
++ }
++ // Create singular provider depending on the URL
++ let provider;
++ if (providerURL.startsWith('wss')) {
++ provider = new ethers_1.WebSocketProvider(providerURL, config.chainId, {
++ staticNetwork: true,
++ });
++ }
++ else {
++ provider = new ethers_1.JsonRpcProvider(providerURL, config.chainId, {
++ staticNetwork: true,
++ pollingInterval,
++ });
++ }
++ return provider;
++ }
++ ;
++ const totalWeight = config.providers.reduce((acc, { weight }) => acc + weight, 0);
++ if (totalWeight < 2) {
++ throw new Error('Total weight across providers must be >= 2 for fallback quorum.');
++ }
++ const network = ethers_1.Network.from(Number(config.chainId));
++ const providers = config.providers.map(({ provider: providerURL, priority, weight, stallTimeout, maxLogsPerBatch, }) => {
++ const isWebsocket = providerURL.startsWith('wss');
++ if (isWebsocket) {
++ throw new Error('WebSocketProvider not supported in FallbackProvider as it will use polling instead of eth_subscribe');
++ }
++ const provider = new configured_json_rpc_provider_1.ConfiguredJsonRpcProvider(providerURL, network, maxLogsPerBatch);
++ const fallbackProviderConfig = {
++ provider,
++ priority,
++ weight,
++ stallTimeout,
++ };
++ return fallbackProviderConfig;
++ });
++ return new ethers_1.FallbackProvider(providers, network, {
++ pollingInterval
++ });
++ }
++ catch (cause) {
++ if (!(cause instanceof Error)) {
++ throw new Error('Non-error thrown from createFallbackProviderFromJsonConfig', { cause });
++ }
++ // Preserve the original error message
++ throw cause;
++ }
++};
++exports.createProviderFromJsonConfig = createProviderFromJsonConfig;
++//# sourceMappingURL=provider.js.map
+\ No newline at end of file
+diff --git a/node_modules/@railgun-community/shared-models/dist/utils/provider.js.map b/node_modules/@railgun-community/shared-models/dist/utils/provider.js.map
+new file mode 100644
+index 0000000..45612f1
+--- /dev/null
++++ b/node_modules/@railgun-community/shared-models/dist/utils/provider.js.map
+@@ -0,0 +1 @@
++{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/utils/provider.ts"],"names":[],"mappings":";;;AAAA,mCAAiG;AACjG,iFAA2E;AAE3E,iCAAmC;AAgB5B,MAAM,4BAA4B,GAAG,CAC1C,MAAiD,EACjD,eAAwB,EACd,EAAE;IACZ,IAAI;QACF,8BAA8B;QAC9B,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE;YAC5B,cAAc;YACd,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,4CAA4C;YAC5C,IAAI,CAAC,IAAA,gBAAS,EAAC,WAAW,CAAC,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;aAC3E;iBAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YAED,4BAA4B;YAC5B,IAAI,CAAC,IAAA,gBAAS,EAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aAC1E;YAED,gDAAgD;YAChD,IAAI,QAA6C,CAAC;YAClD,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACjC,QAAQ,GAAG,IAAI,0BAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE;oBAC5D,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;aACJ;iBAAM;gBACL,QAAQ,GAAG,IAAI,wBAAe,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE;oBAC1D,aAAa,EAAE,IAAI;oBACnB,eAAe;iBAChB,CAAC,CAAC;aACJ;YAED,OAAO,QAAQ,CAAC;SACjB;QAAA,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EACjC,CAAC,CACF,CAAC;QACF,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;SACH;QAED,MAAM,OAAO,GAAG,gBAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAErD,MAAM,SAAS,GAA6B,MAAM,CAAC,SAAS,CAAC,GAAG,CAC9D,CAAC,EACC,QAAQ,EAAE,WAAW,EACrB,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,eAAe,GAChB,EAAE,EAAE;YACH,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,WAAW,EAAE;gBACf,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;aACH;YAED,MAAM,QAAQ,GAAG,IAAI,wDAAyB,CAC5C,WAAW,EACX,OAAO,EACP,eAAe,CAChB,CAAC;YAEF,MAAM,sBAAsB,GAA2B;gBACrD,QAAQ;gBACR,QAAQ;gBACR,MAAM;gBACN,YAAY;aACb,CAAC;YACF,OAAO,sBAAsB,CAAC;QAChC,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,yBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE;YAC9C,eAAe;SAChB,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CACb,4DAA4D,EAC5D,EAAE,KAAK,EAAE,CACV,CAAC;SACH;QACD,sCAAsC;QACtC,MAAM,KAAK,CAAC;KACb;AACH,CAAC,CAAC;AA7FW,QAAA,4BAA4B,gCA6FvC","sourcesContent":["import { FallbackProvider, JsonRpcProvider, Network, Provider, WebSocketProvider } from 'ethers';\nimport { ConfiguredJsonRpcProvider } from './configured-json-rpc-provider';\nimport { FallbackProviderConfig } from 'ethers/lib.commonjs/providers/provider-fallback';\nimport { isDefined } from './util';\n\nexport type FallbackProviderJsonConfig = {\n chainId: number;\n providers: ProviderJson[];\n};\n\nexport type ProviderJson = {\n priority: number;\n weight: number;\n provider: string;\n chainId?: number;\n stallTimeout?: number;\n maxLogsPerBatch?: number;\n};\n\nexport const createProviderFromJsonConfig = (\n config: FallbackProviderJsonConfig | ProviderJson,\n pollingInterval?: number,\n): Provider => {\n try {\n // Handle single provider case\n if (!('providers' in config)) {\n // Get RPC URL\n const providerURL = config.provider;\n // Ensure providerURL exists and is a string\n if (!isDefined(providerURL)) {\n throw new Error('provider is required for single provider configuration');\n } else if (typeof providerURL !== 'string') {\n throw new Error('provider must be a string');\n }\n\n // Ensure chainId is present\n if (!isDefined(config.chainId)) {\n throw new Error('chainId is required for single provider configuration');\n }\n \n // Create singular provider depending on the URL\n let provider: JsonRpcProvider | WebSocketProvider;\n if (providerURL.startsWith('wss')) {\n provider = new WebSocketProvider(providerURL, config.chainId, {\n staticNetwork: true,\n });\n } else {\n provider = new JsonRpcProvider(providerURL, config.chainId, {\n staticNetwork: true,\n pollingInterval,\n });\n }\n\n return provider;\n };\n\n const totalWeight = config.providers.reduce(\n (acc, { weight }) => acc + weight,\n 0,\n );\n if (totalWeight < 2) {\n throw new Error(\n 'Total weight across providers must be >= 2 for fallback quorum.',\n );\n }\n\n const network = Network.from(Number(config.chainId));\n\n const providers: FallbackProviderConfig[] = config.providers.map(\n ({\n provider: providerURL,\n priority,\n weight,\n stallTimeout,\n maxLogsPerBatch,\n }) => {\n const isWebsocket = providerURL.startsWith('wss');\n if (isWebsocket) {\n throw new Error(\n 'WebSocketProvider not supported in FallbackProvider as it will use polling instead of eth_subscribe', \n );\n }\n\n const provider = new ConfiguredJsonRpcProvider(\n providerURL,\n network,\n maxLogsPerBatch,\n );\n\n const fallbackProviderConfig: FallbackProviderConfig = {\n provider,\n priority,\n weight,\n stallTimeout,\n };\n return fallbackProviderConfig;\n },\n );\n\n return new FallbackProvider(providers, network, {\n pollingInterval\n });\n } catch (cause) {\n if (!(cause instanceof Error)) {\n throw new Error(\n 'Non-error thrown from createFallbackProviderFromJsonConfig',\n { cause },\n );\n }\n // Preserve the original error message\n throw cause;\n }\n};\n"]}
+\ No newline at end of file
diff --git a/src/services/poi/poi-required.ts b/src/services/poi/poi-required.ts
index 7e3af8e..f4e8805 100644
--- a/src/services/poi/poi-required.ts
+++ b/src/services/poi/poi-required.ts
@@ -3,7 +3,7 @@ import {
NetworkName,
isDefined,
} from '@railgun-community/shared-models';
-import { getFallbackProviderForNetwork } from '../railgun/core/providers';
+import { getProviderForNetwork } from '../railgun/core/providers';
import { POI } from '@railgun-community/engine';
export class POIRequired {
@@ -21,7 +21,7 @@ export class POIRequired {
return false;
}
- const provider = getFallbackProviderForNetwork(networkName);
+ const provider = getProviderForNetwork(networkName);
const blockNumber = await provider.getBlockNumber();
const isRequired = poi.launchBlock < blockNumber;
diff --git a/src/services/railgun/core/__tests__/providers.test.ts b/src/services/railgun/core/__tests__/providers.test.ts
index b694f01..45ccc03 100644
--- a/src/services/railgun/core/__tests__/providers.test.ts
+++ b/src/services/railgun/core/__tests__/providers.test.ts
@@ -11,7 +11,7 @@ import {
MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA,
} from '../../../../tests/mocks.test';
import { closeTestEngine, initTestEngine } from '../../../../tests/setup.test';
-import { getFallbackProviderForNetwork } from '../providers';
+import { getProviderForNetwork } from '../providers';
import { loadProvider } from '../load-provider';
import { createRailgunWallet, walletForID } from '../../wallets/wallets';
import {
@@ -54,10 +54,10 @@ describe('providers', () => {
unshieldFeeV3: undefined,
});
- expect(getFallbackProviderForNetwork(NetworkName.EthereumSepolia)).to.not.be
+ expect(getProviderForNetwork(NetworkName.EthereumSepolia)).to.not.be
.undefined;
expect(() =>
- getFallbackProviderForNetwork(NetworkName.EthereumRopsten_DEPRECATED),
+ getProviderForNetwork(NetworkName.EthereumRopsten_DEPRECATED),
).to.throw;
expect(getUTXOMerkletreeForNetwork(txidVersion, NetworkName.EthereumSepolia))
@@ -140,6 +140,6 @@ describe('providers', () => {
NetworkName.BNBChain,
10000, // pollingInterval
),
- ).rejectedWith('Invalid fallback provider config for chain 56');
+ ).rejectedWith('provider is required for single provider configuration');
});
});
diff --git a/src/services/railgun/core/load-provider.ts b/src/services/railgun/core/load-provider.ts
index f971b88..e3057c8 100644
--- a/src/services/railgun/core/load-provider.ts
+++ b/src/services/railgun/core/load-provider.ts
@@ -4,8 +4,9 @@ import {
LoadProviderResponse,
NETWORK_CONFIG,
NetworkName,
+ ProviderJson,
TXIDVersion,
- createFallbackProviderFromJsonConfig,
+ createProviderFromJsonConfig,
isDefined,
} from '@railgun-community/shared-models';
import { sendMessage } from '../../../utils';
@@ -13,73 +14,53 @@ import { reportAndSanitizeError } from '../../../utils/error';
import { WalletPOI } from '../../poi/wallet-poi';
import { getEngine } from './engine';
import {
- PollingJsonRpcProvider,
RailgunVersionedSmartContracts,
- createPollingJsonRpcProviderForListeners,
} from '@railgun-community/engine';
-import { FallbackProvider } from 'ethers'
+import { type Provider} from 'ethers'
import {
- fallbackProviderMap,
- pollingProviderMap,
- setFallbackProviderForNetwork,
- setPollingProviderForNetwork,
+ providerMap,
+ setProviderForNetwork,
} from './providers';
import { WalletPOINodeInterface } from '../../poi/wallet-poi-node-interface';
-const createFallbackProviderForNetwork = async (
+const createProviderForNetwork = async (
networkName: NetworkName,
- fallbackProviderJsonConfig: FallbackProviderJsonConfig,
-): Promise => {
- const existingProvider = fallbackProviderMap[networkName];
+ providerJsonConfig: FallbackProviderJsonConfig | ProviderJson,
+ pollingInterval?: number,
+): Promise => {
+ const existingProvider = providerMap[networkName];
if (existingProvider) {
return existingProvider;
}
- const fallbackProvider = createFallbackProviderFromJsonConfig(
- fallbackProviderJsonConfig,
- );
- setFallbackProviderForNetwork(networkName, fallbackProvider);
- return fallbackProvider;
-};
-
-const createPollingProviderForNetwork = async (
- networkName: NetworkName,
- fallbackProvider: FallbackProvider,
- pollingInterval: number,
-): Promise => {
- const existingProvider = pollingProviderMap[networkName];
- if (existingProvider) {
- return existingProvider;
- }
- const network = NETWORK_CONFIG[networkName];
- if (!isDefined(network)) {
- throw new Error('No network found');
- }
- const pollingProvider = await createPollingJsonRpcProviderForListeners(
- fallbackProvider,
- network.chain.id,
- pollingInterval,
+ const provider = createProviderFromJsonConfig(
+ providerJsonConfig,
+ pollingInterval
);
- setPollingProviderForNetwork(networkName, pollingProvider);
- return pollingProvider;
+ setProviderForNetwork(networkName, provider);
+ return provider;
};
+/**
+ *
+ * @param chain
+ * @param networkName
+ * @param fallbackProviderJsonConfig
+ * @param pollingInterval
+ */
const loadProviderForNetwork = async (
chain: Chain,
networkName: NetworkName,
- fallbackProviderJsonConfig: FallbackProviderJsonConfig,
+ providerJsonConfig: FallbackProviderJsonConfig | ProviderJson,
pollingInterval: number,
) => {
sendMessage(`Load provider for network: ${networkName}`);
- const fallbackProvider = await createFallbackProviderForNetwork(
- networkName,
- fallbackProviderJsonConfig,
- );
- const pollingProvider = await createPollingProviderForNetwork(
- networkName,
- fallbackProvider,
- pollingInterval
- );
+ // Create the provider from the JSON config
+ const provider = await createProviderForNetwork(
+ networkName,
+ providerJsonConfig,
+ pollingInterval,
+ );
const network = NETWORK_CONFIG[networkName];
const {
@@ -125,8 +106,8 @@ const loadProviderForNetwork = async (
poseidonMerkleAccumulatorV3Contract,
poseidonMerkleVerifierV3Contract,
tokenVaultV3Contract,
- fallbackProvider,
- pollingProvider,
+ provider, // Can be of type FallbackProvider, WebSocketProvider, or JsonRpcProvider
+ undefined, // pollingProvider is being deprecated
deploymentBlocks,
poi?.launchBlock,
supportsV3,
@@ -138,22 +119,25 @@ const loadProviderForNetwork = async (
* for new RAILGUN events (balance updates).
*/
export const loadProvider = async (
- fallbackProviderJsonConfig: FallbackProviderJsonConfig,
+ providerJsonConfig: FallbackProviderJsonConfig | ProviderJson,
networkName: NetworkName,
+ /**
+ * @deprecated pollingInterval - Default ethers polling interval is used
+ */
pollingInterval = 15000,
): Promise => {
try {
- delete fallbackProviderMap[networkName];
+ delete providerMap[networkName];
const { chain, supportsV3 } = NETWORK_CONFIG[networkName];
- if (fallbackProviderJsonConfig.chainId !== chain.id) {
+ if ('chainId' in providerJsonConfig && providerJsonConfig.chainId !== chain.id) {
throw new Error('Invalid chain ID');
}
await loadProviderForNetwork(
chain,
networkName,
- fallbackProviderJsonConfig,
+ providerJsonConfig,
pollingInterval,
);
WalletPOINodeInterface.unpause(chain);
@@ -197,23 +181,33 @@ export const unloadProvider = async (
networkName: NetworkName,
): Promise => {
WalletPOINodeInterface.pause(NETWORK_CONFIG[networkName].chain);
- await fallbackProviderMap[networkName]?.destroy();
- pollingProviderMap[networkName]?.destroy();
- delete fallbackProviderMap[networkName];
- delete pollingProviderMap[networkName];
+ providerMap[networkName]?.destroy();
+ delete providerMap[networkName];
};
export const pauseAllPollingProviders = (
excludeNetworkName?: NetworkName,
): void => {
- Object.keys(pollingProviderMap).forEach(networkName => {
+ Object.keys(providerMap).forEach(networkName => {
if (networkName === excludeNetworkName) {
return;
}
- const pollingProvider = pollingProviderMap[networkName];
- if (isDefined(pollingProvider) && !pollingProvider.paused) {
- pollingProvider.pause();
+ const provider = providerMap[networkName];
+
+ // Check if provider exists
+ if (!isDefined(provider)) {
+ throw new Error(`No provider found for network: ${networkName}`);
+ }
+
+ // Ensure provider is a pausable provider
+ if (!('paused' in provider && 'pause' in provider)) {
+ throw new Error(
+ `Provider for network ${networkName} is not a pausable provider`,
+ );
}
+
+ // Safe to call pause() after type check
+ (provider as { pause(): void }).pause();
});
};
@@ -223,11 +217,20 @@ export const resumeIsolatedPollingProviderForNetwork = (
pauseAllPollingProviders(
networkName, // excludeNetworkName
);
- const pollingProviderForNetwork = pollingProviderMap[networkName];
- if (
- isDefined(pollingProviderForNetwork) &&
- pollingProviderForNetwork.paused
- ) {
- pollingProviderForNetwork.resume();
+ const provider = providerMap[networkName];
+
+ // Check if provider exists
+ if (!isDefined(provider)) {
+ throw new Error(`No provider found for network: ${networkName}`);
}
+
+ // Ensure provider has resume functionality
+ if (!('paused' in provider && 'resume' in provider)) {
+ throw new Error(
+ `Provider for network ${networkName} is not a pausable provider`,
+ );
+ }
+
+ // Safe to call resume() after type check
+ (provider as { resume(): void }).resume();
};
diff --git a/src/services/railgun/core/providers.ts b/src/services/railgun/core/providers.ts
index a0f62e8..f654d08 100644
--- a/src/services/railgun/core/providers.ts
+++ b/src/services/railgun/core/providers.ts
@@ -1,42 +1,21 @@
import { NetworkName, isDefined } from '@railgun-community/shared-models';
-import { PollingJsonRpcProvider } from '@railgun-community/engine';
-import { FallbackProvider } from 'ethers';
+import { Provider } from 'ethers';
-export const fallbackProviderMap: MapType = {};
-export const pollingProviderMap: MapType = {};
+export const providerMap: MapType = {};
-export const getFallbackProviderForNetwork = (
+export const getProviderForNetwork = (
networkName: NetworkName,
-): FallbackProvider => {
- const provider = fallbackProviderMap[networkName];
+): Provider => {
+ const provider = providerMap[networkName];
if (!isDefined(provider)) {
throw new Error(`Provider not yet loaded for network ${networkName}`);
}
return provider;
};
-export const getPollingProviderForNetwork = (
+export const setProviderForNetwork = (
networkName: NetworkName,
-): PollingJsonRpcProvider => {
- const provider = pollingProviderMap[networkName];
- if (!isDefined(provider)) {
- throw new Error(
- `Polling provider not yet loaded for network ${networkName}`,
- );
- }
- return provider;
-};
-
-export const setFallbackProviderForNetwork = (
- networkName: NetworkName,
- provider: FallbackProvider,
-): void => {
- fallbackProviderMap[networkName] = provider;
-};
-
-export const setPollingProviderForNetwork = (
- networkName: NetworkName,
- provider: PollingJsonRpcProvider,
+ provider: Provider,
): void => {
- pollingProviderMap[networkName] = provider;
+ providerMap[networkName] = provider;
};
diff --git a/src/services/transactions/__tests__/tx-gas-details.test.ts b/src/services/transactions/__tests__/tx-gas-details.test.ts
index 92f8d46..cec158b 100644
--- a/src/services/transactions/__tests__/tx-gas-details.test.ts
+++ b/src/services/transactions/__tests__/tx-gas-details.test.ts
@@ -3,7 +3,7 @@ import chaiAsPromised from 'chai-as-promised';
import Sinon, { SinonStub } from 'sinon';
import {
CommitmentSummary,
- createFallbackProviderFromJsonConfig,
+ createProviderFromJsonConfig,
EVMGasType,
NetworkName,
TransactionGasDetails,
@@ -17,7 +17,7 @@ import {
getGasEstimate,
setGasDetailsForTransaction,
} from '../tx-gas-details';
-import { setFallbackProviderForNetwork } from '../../railgun';
+import { setProviderForNetwork } from '../../railgun';
import { ContractTransaction, FallbackProvider } from 'ethers';
import { getTestTXIDVersion } from '../../../tests/helper.test';
@@ -43,11 +43,11 @@ describe('tx-gas', () => {
it('Should format gas estimate response', async () => {
const transaction = {} as ContractTransaction;
- const fallbackProvider = createFallbackProviderFromJsonConfig(
+ const fallbackProvider = createProviderFromJsonConfig(
MOCK_FALLBACK_PROVIDER_JSON_CONFIG_POLYGON,
);
- setFallbackProviderForNetwork(
+ setProviderForNetwork(
NetworkName.Polygon,
fallbackProvider as unknown as FallbackProvider,
);
@@ -78,10 +78,10 @@ describe('tx-gas', () => {
it('Should pull gas estimate for basic transaction - self-signed', async () => {
stubGasEstimateSuccess();
- const fallbackProvider = createFallbackProviderFromJsonConfig(
+ const fallbackProvider = createProviderFromJsonConfig(
MOCK_FALLBACK_PROVIDER_JSON_CONFIG_POLYGON,
);
- setFallbackProviderForNetwork(
+ setProviderForNetwork(
NetworkName.Polygon,
fallbackProvider as unknown as FallbackProvider,
);
@@ -111,10 +111,10 @@ describe('tx-gas', () => {
it('Should pull gas estimate for basic transaction - broadcaster', async () => {
stubGasEstimateSuccess();
- const fallbackProvider = createFallbackProviderFromJsonConfig(
+ const fallbackProvider = createProviderFromJsonConfig(
MOCK_FALLBACK_PROVIDER_JSON_CONFIG_POLYGON,
);
- setFallbackProviderForNetwork(
+ setProviderForNetwork(
NetworkName.Polygon,
fallbackProvider as unknown as FallbackProvider,
);
diff --git a/src/services/transactions/tx-gas-details.ts b/src/services/transactions/tx-gas-details.ts
index 82b7264..7767eac 100644
--- a/src/services/transactions/tx-gas-details.ts
+++ b/src/services/transactions/tx-gas-details.ts
@@ -8,7 +8,7 @@ import {
TransactionGasDetails,
TXIDVersion,
} from '@railgun-community/shared-models';
-import { getFallbackProviderForNetwork } from '../railgun';
+import { getProviderForNetwork } from '../railgun';
import { reportAndSanitizeError } from '../../utils/error';
import {
GAS_ESTIMATE_VARIANCE_DUMMY_TO_ACTUAL_TRANSACTION,
@@ -58,7 +58,7 @@ const estimateGas = (
transaction: ContractTransaction,
isCrossContractCall: boolean,
): Promise => {
- const provider = getFallbackProviderForNetwork(networkName);
+ const provider = getProviderForNetwork(networkName);
if (isCrossContractCall) {
// Includes custom error handler for relay-adapt transactions.
return RelayAdaptVersionedSmartContracts.estimateGasWithErrorHandler(
diff --git a/src/services/transactions/tx-unshield.ts b/src/services/transactions/tx-unshield.ts
index 9019860..6c2c168 100644
--- a/src/services/transactions/tx-unshield.ts
+++ b/src/services/transactions/tx-unshield.ts
@@ -29,7 +29,7 @@ import { reportAndSanitizeError } from '../../utils/error';
import { gasEstimateResponse, getGasEstimate } from './tx-gas-details';
import {
walletForID,
- getFallbackProviderForNetwork,
+ getProviderForNetwork,
getSerializedERC20Balances,
getSerializedNFTBalances,
} from '../railgun';
@@ -268,7 +268,7 @@ export const getERC20AndNFTAmountRecipientsForUnshieldToOrigin = async (
originalShieldTxid,
);
- const provider = getFallbackProviderForNetwork(networkName);
+ const provider = getProviderForNetwork(networkName);
const transaction = await provider.getTransaction(originalShieldTxid);
if (!transaction) {
throw new Error('Could not find shield transaction from RPC');
diff --git a/yarn.lock b/yarn.lock
index 4db3c70..e0f0994 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2412,6 +2412,11 @@
"@whatwg-node/fetch" "^0.8.3"
tslib "^2.3.1"
+"@yarnpkg/lockfile@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31"
+ integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
+
abortcontroller-polyfill@^1.7.5:
version "1.7.5"
resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed"
@@ -2731,6 +2736,11 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+at-least-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+ integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
auto-bind@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb"
@@ -3149,6 +3159,14 @@ caching-transform@^4.0.0:
package-hash "^4.0.0"
write-file-atomic "^3.0.0"
+call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz#32e5892e6361b29b0b545ba6f7763378daca2840"
+ integrity sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==
+ dependencies:
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+
call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
@@ -3160,6 +3178,24 @@ call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bin
get-intrinsic "^1.2.4"
set-function-length "^1.2.1"
+call-bind@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c"
+ integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==
+ dependencies:
+ call-bind-apply-helpers "^1.0.0"
+ es-define-property "^1.0.0"
+ get-intrinsic "^1.2.4"
+ set-function-length "^1.2.2"
+
+call-bound@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.3.tgz#41cfd032b593e39176a71533ab4f384aa04fd681"
+ integrity sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==
+ dependencies:
+ call-bind-apply-helpers "^1.0.1"
+ get-intrinsic "^1.2.6"
+
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -3236,7 +3272,7 @@ chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1:
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -3326,6 +3362,11 @@ chownr@^1.1.4:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+ci-info@^3.7.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4"
+ integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
+
cids@^0.7.1:
version "0.7.5"
resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2"
@@ -4069,6 +4110,15 @@ dset@^3.1.1, dset@^3.1.2:
resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.3.tgz#c194147f159841148e8e34ca41f638556d9542d2"
integrity sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==
+dunder-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
+ integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
+ dependencies:
+ call-bind-apply-helpers "^1.0.1"
+ es-errors "^1.3.0"
+ gopd "^1.2.0"
+
eastasianwidth@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
@@ -4231,6 +4281,11 @@ es-define-property@^1.0.0:
dependencies:
get-intrinsic "^1.2.4"
+es-define-property@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
+ integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
+
es-errors@^1.2.1, es-errors@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
@@ -4931,6 +4986,13 @@ find-up@^5.0.0:
locate-path "^6.0.0"
path-exists "^4.0.0"
+find-yarn-workspace-root@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd"
+ integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==
+ dependencies:
+ micromatch "^4.0.2"
+
flat-cache@^3.0.4:
version "3.2.0"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
@@ -5040,6 +5102,16 @@ fs-extra@^4.0.2:
jsonfile "^4.0.0"
universalify "^0.1.0"
+fs-extra@^9.0.0:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
fs-minipass@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
@@ -5119,6 +5191,22 @@ get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@
has-symbols "^1.0.3"
hasown "^2.0.0"
+get-intrinsic@^1.2.6:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.7.tgz#dcfcb33d3272e15f445d15124bc0a216189b9044"
+ integrity sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==
+ dependencies:
+ call-bind-apply-helpers "^1.0.1"
+ es-define-property "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ function-bind "^1.1.2"
+ get-proto "^1.0.0"
+ gopd "^1.2.0"
+ has-symbols "^1.1.0"
+ hasown "^2.0.2"
+ math-intrinsics "^1.1.0"
+
get-own-enumerable-property-symbols@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
@@ -5129,6 +5217,14 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+get-proto@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
+ integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-object-atoms "^1.0.0"
+
get-stream@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
@@ -5260,6 +5356,11 @@ gopd@^1.0.1:
dependencies:
get-intrinsic "^1.1.3"
+gopd@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
+ integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
+
got@12.1.0:
version "12.1.0"
resolved "https://registry.yarnpkg.com/got/-/got-12.1.0.tgz#099f3815305c682be4fd6b0ee0726d8e4c6b0af4"
@@ -5296,7 +5397,7 @@ got@^11.8.5:
p-cancelable "^2.0.0"
responselike "^2.0.0"
-graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4:
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
@@ -5414,6 +5515,11 @@ has-symbols@^1.0.2, has-symbols@^1.0.3:
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+has-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
+ integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
+
has-tostringtag@^1.0.0, has-tostringtag@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc"
@@ -6134,6 +6240,17 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+json-stable-stringify@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz#addb683c2b78014d0b78d704c2fcbdf0695a60e2"
+ integrity sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ isarray "^2.0.5"
+ jsonify "^0.0.1"
+ object-keys "^1.1.1"
+
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -6158,6 +6275,20 @@ jsonfile@^4.0.0:
optionalDependencies:
graceful-fs "^4.1.6"
+jsonfile@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
+ integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+ dependencies:
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonify@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978"
+ integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==
+
jsonpath@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901"
@@ -6198,6 +6329,13 @@ keyv@^4.0.0, keyv@^4.5.3:
dependencies:
json-buffer "3.0.1"
+klaw-sync@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c"
+ integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+
level-codec@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-10.0.0.tgz#f9e892770532c6cdcc83529546730791b0c62c12"
@@ -6457,6 +6595,11 @@ map-cache@^0.2.0:
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==
+math-intrinsics@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
+ integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
+
md5.js@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
@@ -6496,6 +6639,14 @@ micro-ftch@^0.3.1:
resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f"
integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==
+micromatch@^4.0.2:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
+ integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
+ dependencies:
+ braces "^3.0.3"
+ picomatch "^2.3.1"
+
micromatch@^4.0.4:
version "4.0.7"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5"
@@ -7089,6 +7240,11 @@ ora@^5.4.1:
strip-ansi "^6.0.0"
wcwidth "^1.0.1"
+os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
+
p-cancelable@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
@@ -7223,6 +7379,27 @@ pascal-case@^3.1.2:
no-case "^3.0.4"
tslib "^2.0.3"
+patch-package@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-8.0.0.tgz#d191e2f1b6e06a4624a0116bcb88edd6714ede61"
+ integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==
+ dependencies:
+ "@yarnpkg/lockfile" "^1.1.0"
+ chalk "^4.1.2"
+ ci-info "^3.7.0"
+ cross-spawn "^7.0.3"
+ find-yarn-workspace-root "^2.0.0"
+ fs-extra "^9.0.0"
+ json-stable-stringify "^1.0.2"
+ klaw-sync "^6.0.0"
+ minimist "^1.2.6"
+ open "^7.4.2"
+ rimraf "^2.6.3"
+ semver "^7.5.3"
+ slash "^2.0.0"
+ tmp "^0.0.33"
+ yaml "^2.2.2"
+
path-browserify@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
@@ -7793,6 +7970,13 @@ rfdc@^1.2.0:
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca"
integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==
+rimraf@^2.6.3:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+ dependencies:
+ glob "^7.1.3"
+
rimraf@^3.0.0, rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
@@ -7955,7 +8139,7 @@ set-blocking@^2.0.0:
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-set-function-length@^1.2.1:
+set-function-length@^1.2.1, set-function-length@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
@@ -8058,6 +8242,11 @@ sinon@^15.0.1:
nise "^5.1.4"
supports-color "^7.2.0"
+slash@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
+ integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
+
slash@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
@@ -8173,16 +8362,7 @@ strict-uri-encode@^1.0.0:
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==
-"string-width-cjs@npm:string-width@^4.2.0":
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
- integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.1"
-
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -8251,14 +8431,7 @@ stringify-object@^3.2.1:
is-obj "^1.0.1"
is-regexp "^1.0.0"
-"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
-strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -8406,6 +8579,13 @@ title-case@^3.0.3:
dependencies:
tslib "^2.0.3"
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
@@ -8698,6 +8878,11 @@ universalify@^0.1.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+universalify@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d"
+ integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
+
unixify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090"
@@ -9170,7 +9355,7 @@ workerpool@^6.5.1:
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544"
integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==
-"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -9188,15 +9373,6 @@ wrap-ansi@^6.2.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
-wrap-ansi@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
- integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
wrap-ansi@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
@@ -9305,6 +9481,11 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+yaml@^2.2.2:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.7.0.tgz#aef9bb617a64c937a9a748803786ad8d3ffe1e98"
+ integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==
+
yargs-parser@^18.1.2:
version "18.1.3"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"