@venly/web3-provider
Version:
Venly enabled Web3 Provider for the web
36 lines (35 loc) • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const json_rpc_engine_1 = require("@metamask/json-rpc-engine");
const eth_json_rpc_middleware_1 = require("@metamask/eth-json-rpc-middleware");
const pending_1 = require("./pending");
const accounts_1 = require("./accounts");
function createVenlyMiddleware({ getAccounts, processDecryptMessage, processEncryptionPublicKey, processEthSignMessage, processPersonalMessage, processTransaction, processSignTransaction, processTypedMessage, processTypedMessageV3, processTypedMessageV4, getPendingNonce, getTransactionByHash, getPendingTransactions, changeSecretType }) {
const venlyMiddleware = (0, json_rpc_engine_1.mergeMiddleware)([
(0, json_rpc_engine_1.createScaffoldMiddleware)({
web3_clientVersion: 'VenlyProvider/v3.0.0',
eth_hashrate: '0x00',
eth_mining: false,
eth_syncing: false
}),
(0, eth_json_rpc_middleware_1.createWalletMiddleware)({
getAccounts,
processDecryptMessage,
processEncryptionPublicKey,
processEthSignMessage,
processPersonalMessage,
processTransaction,
processSignTransaction,
processTypedMessage,
processTypedMessageV3,
processTypedMessageV4,
}),
(0, accounts_1.createRequestAccountsMiddleware)({ getAccounts }),
(0, pending_1.createPendingNonceMiddleware)({ getPendingNonce }),
(0, pending_1.createTransactionByHashMiddleware)({ getTransactionByHash }),
(0, pending_1.createPendingTransactionsMiddleware)({ getPendingTransactions }),
(0, accounts_1.createSwitchEthereumChainMiddleware)({ changeSecretType }),
]);
return venlyMiddleware;
}
exports.default = createVenlyMiddleware;