The SDK for crosschain messaging
yarn add "@entangle_protocol/oracle-sdk"
All externalDevelopers must contact us
import { ProtocolBuilder, ProtocolParams, TransmittersParams } from "@entangle_protocol/oracle-sdk";
async function setupProtocol() {
const MANUAL_RECEIVERS = ["address1", "address2"];
const transmittersParams: TransmittersParams = {
maxTransmitters: 10,
minDelegateAmount: ethers.utils.parseUnits("100", "ether"),
minPersonalAmount: ethers.utils.parseUnits("10", "ether"),
}
const protocolParams: ProtocolParams = {
msgBetAmount: ethers.utils.parseUnits("0.001", "ether"),
dataBetAmount: ethers.utils.parseUnits("0.0001", "ether"),
msgBetReward: ethers.utils.parseUnits("0.002", "ether"),
dataBetReward: ethers.utils.parseUnits("0.0002", "ether"),
msgBetFirstReward: ethers.utils.parseUnits("0.004", "ether"),
dataBetFirstReward: ethers.utils.parseUnits("0.0004", "ether"),
consensusTargetRate: CONSENSUS_TARGET_RATE
};
const builder = new ProtocolBuilder(
PROTOCOL_ID,
MANUAL_RECEIVERS,
transmittersParams,
protocolParams
).withSigner(
externalDeveloper
);
const protocol: Protocol = await builder.build();
console.log("Init protocol");
await protocol.verifyOrCreate(await externalDeveloper.getAddress());
await protocol.verifyOrCreate(await admin.getAddress());
await protocol.addProtocolAddressEvm(CHAIN_ID, protocolContractAddress);
await protocol.addProposerAddressEvm(CHAIN_ID, proposerContractAddress);
await protocol.addExecutorEvm(CHAIN_ID, executorAddress);
// deposit distrib amount to start protocol working
await protocol.deposit(AMOUNT);
}