Comparing version 3.1.1 to 4.0.0
@@ -27,6 +27,2 @@ import * as DPapi from './dp-api'; | ||
* @param provider - target rpc provider | ||
* @param disableMevProtection - disable provider replacement on transaction requests | ||
* @param mevProtectionProvider - target MEV Protection provider RPC, | ||
* will send transactions through this provider | ||
* @param mevKickbackAddress - provide this URL for receiving kickback share to a different address than the tx origin | ||
* @param forceZeroHop - disable routing protection | ||
@@ -45,5 +41,2 @@ * @param segmentLimit - limit the number of segment a request can use, fails requests that require a larger number | ||
readonly provider?: string; | ||
readonly disableMevProtection?: boolean; | ||
readonly mevProtectionProvider?: string; | ||
readonly mevKickbackAddress?: string; | ||
readonly forceZeroHop?: boolean; | ||
@@ -102,3 +95,2 @@ readonly segmentLimit?: number; | ||
private fetchChainId; | ||
private determineProvider; | ||
private determineHeaders; | ||
@@ -105,0 +97,0 @@ private populateChainIds; |
@@ -50,3 +50,2 @@ "use strict"; | ||
exports.Utils = __importStar(require("./utils")); | ||
const RPC_PROPELLORHEADS = 'https://rpc.propellerheads.xyz/eth'; | ||
/** | ||
@@ -60,4 +59,2 @@ * Global defaults. | ||
provider: 'https://gnosis.rpc-provider.prod.hoprnet.link', | ||
disableMevProtection: false, | ||
mevProtectionProvider: RPC_PROPELLORHEADS, | ||
forceZeroHop: false, | ||
@@ -105,5 +102,5 @@ forceManualRelaying: false, | ||
this.doSend = async (req, ops) => { | ||
const provider = this.determineProvider(req, ops?.provider); | ||
const provider = ops?.provider ?? this.ops.provider ?? defaultOps.provider; | ||
const timeout = ops?.timeout ?? this.ops.timeout; | ||
const headers = this.determineHeaders(provider, this.ops.mevKickbackAddress, ops?.headers); | ||
const headers = this.determineHeaders(provider, ops?.headers); | ||
// sanity check provider url | ||
@@ -113,8 +110,2 @@ if (!Utils.isValidURL(provider)) { | ||
} | ||
// sanity check mev protection provider url, if it is set | ||
if (this.ops.mevProtectionProvider) { | ||
if (!Utils.isValidURL(this.ops.mevProtectionProvider)) { | ||
throw new Response.SendError('Cannot parse mevProtectionProvider URL', provider, headers); | ||
} | ||
} | ||
// provide chainId | ||
@@ -160,5 +151,2 @@ this.uClient.onRequestCreationHandler = (r) => { | ||
provider: ops.provider || defaultOps.provider, | ||
disableMevProtection: ops.disableMevProtection ?? defaultOps.disableMevProtection, | ||
mevProtectionProvider: ops.mevProtectionProvider || defaultOps.mevProtectionProvider, | ||
mevKickbackAddress: ops.mevKickbackAddress, | ||
forceZeroHop, | ||
@@ -226,27 +214,3 @@ versionListener: ops.versionListener, | ||
}; | ||
this.determineProvider = ({ method }, provider) => { | ||
const prov = provider ?? this.ops.provider ?? defaultOps.provider; | ||
if (this.ops.disableMevProtection) { | ||
return prov; | ||
} | ||
if (method !== 'eth_sendRawTransaction') { | ||
return prov; | ||
} | ||
// sanity check for chain id if we got it | ||
const cId = this.chainIds.get(prov); | ||
if (cId === '0x1' || (cId && parseInt(cId) === 1)) { | ||
return this.ops.mevProtectionProvider; | ||
} | ||
return prov; | ||
}; | ||
this.determineHeaders = (provider, mevKickbackAddress, headers) => { | ||
// if we provide headers we need to provide all of them | ||
if (provider === RPC_PROPELLORHEADS && mevKickbackAddress) { | ||
return { | ||
'X-Tx-Origin': mevKickbackAddress, | ||
'Content-Type': 'application/json', | ||
...this.ops.headers, | ||
...headers, | ||
}; | ||
} | ||
this.determineHeaders = (provider, headers) => { | ||
// merge headers with provided headers | ||
@@ -270,3 +234,3 @@ if (headers || this.ops.headers) { | ||
} | ||
const headers = this.determineHeaders(provider, undefined, opsHeaders); | ||
const headers = this.determineHeaders(provider, opsHeaders); | ||
this.fetchChainId(provider, headers); | ||
@@ -273,0 +237,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
declare const _default: "3.1.1"; | ||
declare const _default: "4.0.0"; | ||
export default _default; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.default = '3.1.1'; | ||
exports.default = '4.0.0'; |
# @rpch/sdk | ||
## 4.0.0 | ||
### Major Changes | ||
- 17e8bf5: Remove MEV provider handling | ||
## 3.1.1 | ||
@@ -4,0 +10,0 @@ |
{ | ||
"name": "@rpch/sdk", | ||
"version": "3.1.1", | ||
"version": "4.0.0", | ||
"license": "LGPL-3.0", | ||
@@ -5,0 +5,0 @@ "main": "./build/index.js", |
136010
3378