hop/contracts/scripts/other/deploySaddle.ts
2022-12-09 18:11:04 +08:00

68 lines
1.8 KiB
TypeScript

import { ethers } from 'hardhat'
import { Contract, ContractFactory, providers } from 'ethers'
const ovmEthers = ethers
async function main() {
const provider: providers.Provider = ethers.provider
const MathUtils: ContractFactory = await ethers.getContractFactory("MathUtils")
const mathUtils: Contract = await MathUtils.deploy()
await mathUtils.deployed()
const mathUtilsCode = await provider.getCode(mathUtils.address)
console.log('MathUtils: ', mathUtils.address)
logCode(mathUtilsCode)
const SwapUtils: ContractFactory = await ethers.getContractFactory(
"SwapUtils",
{
libraries: {
'MathUtils': mathUtils.address
}
}
)
const swapUtils: Contract = await SwapUtils.deploy()
await swapUtils.deployed()
const swapUtilsCode = await provider.getCode(swapUtils.address)
console.log('SwapUtils: ', swapUtils.address)
logCode(swapUtilsCode)
const Swap: ContractFactory = await ethers.getContractFactory(
"Swap",
{
libraries: {
'SwapUtils': swapUtils.address
}
}
)
const swap: Contract = await Swap.deploy()
await swap.deployed()
const swapCode = await provider.getCode(swap.address)
console.log('Swap: ', swap.address)
logCode(swapCode)
// const swap: Contract = await Swap.attach('0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0')
const a = await swap.getA({ gasLimit: 500000 })
console.log('a: ', a.toString())
const token0 = await swap.getToken(0, { gasLimit: 500000 })
console.log('token0: ', token0)
function logCode(code: string) {
let str = ''
if (code && code.length > 20) {
str += code.slice(0, 19)
str += '...'
} else if (code) {
str = code
}
console.log('code: ', str)
}
}
main()
.then(() => process.exit(0))
.catch(error => {
console.error(error)
process.exit(1)
})