add minting of snt over bridge
This commit is contained in:
parent
0bb5cc4273
commit
232915cc14
|
@ -85,7 +85,7 @@ describe("Bridge", function () {
|
||||||
AvalancheBridge.address,
|
AvalancheBridge.address,
|
||||||
[sntAvalancheResourceId],
|
[sntAvalancheResourceId],
|
||||||
[sntAvalanche.address],
|
[sntAvalanche.address],
|
||||||
[]
|
[sntAvalanche.address]
|
||||||
) as ERC20Handler;
|
) as ERC20Handler;
|
||||||
ethereumErc20Handler = _ethereumErc20Handler;
|
ethereumErc20Handler = _ethereumErc20Handler;
|
||||||
avalancheErc20Handler = _avalancheErc20Handler;
|
avalancheErc20Handler = _avalancheErc20Handler;
|
||||||
|
@ -99,13 +99,13 @@ describe("Bridge", function () {
|
||||||
sntAvalancheResourceId,
|
sntAvalancheResourceId,
|
||||||
sntAvalanche.address
|
sntAvalanche.address
|
||||||
);
|
);
|
||||||
// TODO
|
|
||||||
await sntAvalanche.grantRole(await sntAvalanche.MINTER_ROLE(), avalancheErc20Handler.address);
|
await sntAvalanche.grantRole(await sntAvalanche.MINTER_ROLE(), avalancheErc20Handler.address);
|
||||||
|
await AvalancheBridge.adminSetResource(avalancheErc20Handler.address, sntAvalancheResourceId, sntAvalanche.address);
|
||||||
});
|
});
|
||||||
|
|
||||||
let depositNonce: BigNumber;
|
let depositNonce: BigNumber;
|
||||||
let encodedMetaData: string;
|
let encodedMetaData: string;
|
||||||
it("Should deposit erc20 into the bridge", async function () {
|
it("Should deposit SNT into the Ethereum bridge", async function () {
|
||||||
const [deployer, depositer, recipient] = accounts;
|
const [deployer, depositer, recipient] = accounts;
|
||||||
depositerAddress = await depositer.getAddress();
|
depositerAddress = await depositer.getAddress();
|
||||||
recipientAddress = await recipient.getAddress();
|
recipientAddress = await recipient.getAddress();
|
||||||
|
@ -127,28 +127,32 @@ describe("Bridge", function () {
|
||||||
expect(depositNonce).to.eq(1)
|
expect(depositNonce).to.eq(1)
|
||||||
});
|
});
|
||||||
|
|
||||||
it("Should execute deposit", async function () {
|
it("Should execute deposit on destination bridge", async function () {
|
||||||
const [deployer, depositer, recipient, relayer1, relayer2] = accounts;
|
const [deployer, depositer, recipient, relayer1, relayer2] = accounts;
|
||||||
const bridgeRelayer1: Bridge = EthereumBridge.connect(relayer1);
|
const bridgeRelayer1: Bridge = AvalancheBridge.connect(relayer1);
|
||||||
const bridgeRelayer2: Bridge = EthereumBridge.connect(relayer2);
|
const bridgeRelayer2: Bridge = AvalancheBridge.connect(relayer2);
|
||||||
const depositDataHash = generateDepositDataHash(ethereumErc20Handler.address, encodedMetaData);
|
const depositDataHash = generateDepositDataHash(avalancheErc20Handler.address, encodedMetaData);
|
||||||
|
const pre = await sntAvalanche.balanceOf(await recipient.getAddress());
|
||||||
const relay1Vote = await bridgeRelayer1.voteProposal(
|
const relay1Vote = await bridgeRelayer1.voteProposal(
|
||||||
ETHEREUM_CHAIN_ID,
|
ETHEREUM_CHAIN_ID,
|
||||||
depositNonce,
|
depositNonce,
|
||||||
sntEthereumResourceId,
|
sntAvalancheResourceId,
|
||||||
depositDataHash
|
depositDataHash
|
||||||
);
|
);
|
||||||
const relay2Vote = await bridgeRelayer2.voteProposal(
|
const relay2Vote = await bridgeRelayer2.voteProposal(
|
||||||
ETHEREUM_CHAIN_ID,
|
ETHEREUM_CHAIN_ID,
|
||||||
depositNonce,
|
depositNonce,
|
||||||
sntEthereumResourceId,
|
sntAvalancheResourceId,
|
||||||
depositDataHash
|
depositDataHash
|
||||||
);
|
);
|
||||||
const executeProposal = await bridgeRelayer2.executeProposal(
|
const executeProposal = await bridgeRelayer2.executeProposal(
|
||||||
ETHEREUM_CHAIN_ID,
|
ETHEREUM_CHAIN_ID,
|
||||||
depositNonce,
|
depositNonce,
|
||||||
encodedMetaData,
|
encodedMetaData,
|
||||||
sntEthereumResourceId
|
sntAvalancheResourceId
|
||||||
);
|
);
|
||||||
|
const post = await sntAvalanche.balanceOf(await recipient.getAddress());
|
||||||
|
expect(pre).to.eq(0);
|
||||||
|
expect(post).to.eq(toWei('1'));
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue