|
@@ -1,5 +1,14 @@
|
|
|
import { InitiaTask } from './InitiaTask'
|
|
|
-import { Coin, MsgSend } from '@initia/initia.js'
|
|
|
+import {
|
|
|
+ bcs,
|
|
|
+ Coin,
|
|
|
+ Coins,
|
|
|
+ Fee,
|
|
|
+ Msg,
|
|
|
+ MsgSend,
|
|
|
+ MsgTransfer,
|
|
|
+ Wallet,
|
|
|
+} from '@initia/initia.js'
|
|
|
|
|
|
export class InitiaClient extends InitiaTask {
|
|
|
constructor(mnemonic: string, useProxy: boolean = false) {
|
|
@@ -36,7 +45,7 @@ export class InitiaClient extends InitiaTask {
|
|
|
// sequence: 3,
|
|
|
msgs: [msg],
|
|
|
})
|
|
|
- const broadcast = await this.lcd.tx.broadcast(signed)
|
|
|
+ const broadcast = await this.lcd.tx.broadcastAsync(signed)
|
|
|
return broadcast.txhash
|
|
|
}
|
|
|
|
|
@@ -49,4 +58,471 @@ export class InitiaClient extends InitiaTask {
|
|
|
return await this.transfer(toAddr, 1)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ async week5Task1() {
|
|
|
+ const l2InitBalance = await this.blackWings.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'l2/aee375e9d0b181f0d9d3a49f9a3d1d6b05d62b0ac81f8c92b9282afa4213d884',
|
|
|
+ )
|
|
|
+ const l2UsdcBalance = await this.blackWings.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5',
|
|
|
+ )
|
|
|
+
|
|
|
+ if (Number(l2InitBalance.amount) < 1000000) {
|
|
|
+ await this.newBridge2BlackWings()
|
|
|
+ return `l2Init`
|
|
|
+ }
|
|
|
+ if (Number(l2UsdcBalance.amount) < 1000000) {
|
|
|
+ const usdcL1 = await this.lcd.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'uusdc',
|
|
|
+ )
|
|
|
+ if (Number(usdcL1.amount) < 1500000) {
|
|
|
+ await this.swapScript()
|
|
|
+ return `usdcL1`
|
|
|
+ }
|
|
|
+ await this.newBridgeUsdc2BlackWings()
|
|
|
+ return `l2Usdc`
|
|
|
+ }
|
|
|
+ const msg = new MsgTransfer(
|
|
|
+ 'transfer',
|
|
|
+ 'channel-0',
|
|
|
+ new Coin(
|
|
|
+ 'ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5',
|
|
|
+ '1000000',
|
|
|
+ ),
|
|
|
+ this.wallet.key.accAddress,
|
|
|
+ '0x1::cosmos::transfer',
|
|
|
+ null,
|
|
|
+ ((new Date().valueOf() + 3500000) * 1000000).toString(),
|
|
|
+ `{"move":{"message":{"module_address":"0x1","module_name":"cosmos","function_name":"transfer","type_args":[],"args":["${bcs
|
|
|
+ .string()
|
|
|
+ .serialize(this.wallet.key.accAddress)
|
|
|
+ .toBase64()}","KYJNlS4DVJD651Z97qXxW1BKaPpzYQBjwWCrH6h91gk=","oIYBAAAAAAA=","CHRyYW5zZmVy","CWNoYW5uZWwtMA==","AAAAAAAAAAA=","AAAAAAAAAAA=","QB1hTqPC2Rc=","AA=="]}}}`,
|
|
|
+ )
|
|
|
+ const blackWingsWallet = new Wallet(this.blackWings, this.wallet.key)
|
|
|
+ const simulate = await this.blackWings.tx.estimateFee(
|
|
|
+ [{ sequenceNumber: await blackWingsWallet.sequence() }],
|
|
|
+ {
|
|
|
+ msgs: [msg],
|
|
|
+ feeDenoms: [
|
|
|
+ 'l2/aee375e9d0b181f0d9d3a49f9a3d1d6b05d62b0ac81f8c92b9282afa4213d884',
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ )
|
|
|
+ // console.log(simulate)
|
|
|
+ // return false
|
|
|
+ const signed = await blackWingsWallet.createAndSignTx({
|
|
|
+ msgs: [msg],
|
|
|
+ fee: new Fee(
|
|
|
+ simulate.gas_limit,
|
|
|
+ new Coins([
|
|
|
+ new Coin(
|
|
|
+ 'l2/aee375e9d0b181f0d9d3a49f9a3d1d6b05d62b0ac81f8c92b9282afa4213d884',
|
|
|
+ simulate.amount.toArray()[0].amount,
|
|
|
+ ),
|
|
|
+ ]),
|
|
|
+ ),
|
|
|
+ })
|
|
|
+ try {
|
|
|
+ const broadcast = await this.blackWings.tx.broadcastAsync(signed)
|
|
|
+ console.log(broadcast)
|
|
|
+ return `done`
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ return `error`
|
|
|
+ }
|
|
|
+
|
|
|
+ // const res = await this.newBridge2BlackWings()
|
|
|
+ }
|
|
|
+ async week5Task2() {
|
|
|
+ const l2InitBalance = await this.initAi.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'l2/aadf1a9da6a38b7e7e11839364ee42002260eff1657f403b9ce608337bcb986b',
|
|
|
+ )
|
|
|
+ // console.log(l2InitBalance.amount)
|
|
|
+ if (Number(l2InitBalance.amount) < 1500000) {
|
|
|
+ await this.newBridge2Ai()
|
|
|
+ return `l2Init`
|
|
|
+ }
|
|
|
+ const msg = new MsgTransfer(
|
|
|
+ 'transfer',
|
|
|
+ 'channel-0',
|
|
|
+ new Coin(
|
|
|
+ 'l2/aadf1a9da6a38b7e7e11839364ee42002260eff1657f403b9ce608337bcb986b',
|
|
|
+ '1000000',
|
|
|
+ ),
|
|
|
+ this.wallet.key.accAddress,
|
|
|
+ '0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a',
|
|
|
+ null,
|
|
|
+ ((new Date().valueOf() + 3500000) * 1000000).toString(),
|
|
|
+ `{"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"minit_swap_deposit","type_args":[],"args":["2+lWb+7Xy+Fy4RJ3INn8xwr0QQlVvARSifYjl59C9Bc=","jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=","QEIPAAAAAAA=","AceZDQAAAAAA","DgAAAAAAAAA=","${bcs
|
|
|
+ .address()
|
|
|
+ .serialize(this.wallet.key.accAddress)
|
|
|
+ .toBase64()}","AA=="]}}}`,
|
|
|
+ )
|
|
|
+ //{"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"minit_swap_deposit","type_args":[],"args":["2+lWb+7Xy+Fy4RJ3INn8xwr0QQlVvARSifYjl59C9Bc=","jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=","QEIPAAAAAAA=","AbceDwAAAAAA","DgAAAAAAAAA=","AAAAAAAAAAAAAAAAwfIGiv3Te+HINdWz7IkKXwKsGQ4=","AA=="]}}}
|
|
|
+ // {"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"minit_swap_deposit","type_args":[],"args":["2+lWb+7Xy+Fy4RJ3INn8xwr0QQlVvARSifYjl59C9Bc=","jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=","oIYBAAAAAAA=","AQqDAQAAAAAA","DgAAAAAAAAA=","AAAAAAAAAAAAAAAAwfIGiv3Te+HINdWz7IkKXwKsGQ4=","AA=="]}}}
|
|
|
+ // {"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"minit_swap_deposit","type_args":[],"args":["2+lWb+7Xy+Fy4RJ3INn8xwr0QQlVvARSifYjl59C9Bc=","jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=","4MgQAAAAAAA=","AZugEAAAAAAA","DgAAAAAAAAA=","AAAAAAAAAAAAAAAAwfIGiv3Te+HINdWz7IkKXwKsGQ4=","AA=="]}}}
|
|
|
+ // {"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"minit_swap_deposit","type_args":[],"args":["2+lWb+7Xy+Fy4RJ3INn8xwr0QQlVvARSifYjl59C9Bc=","jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=","oLsNAAAAAAA=","AceZDQAAAAAA","DgAAAAAAAAA=","AAAAAAAAAAAAAAAAwfIGiv3Te+HINdWz7IkKXwKsGQ4=","AA=="]}}}
|
|
|
+
|
|
|
+ const aiWallet = new Wallet(this.initAi, this.wallet.key)
|
|
|
+ const simulate = await this.initAi.tx.estimateFee(
|
|
|
+ [{ sequenceNumber: await aiWallet.sequence() }],
|
|
|
+ {
|
|
|
+ msgs: [msg],
|
|
|
+ feeDenoms: [
|
|
|
+ 'l2/aadf1a9da6a38b7e7e11839364ee42002260eff1657f403b9ce608337bcb986b',
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ )
|
|
|
+ const signed = await aiWallet.createAndSignTx({
|
|
|
+ msgs: [msg],
|
|
|
+ fee: new Fee(
|
|
|
+ simulate.gas_limit,
|
|
|
+ new Coins([
|
|
|
+ new Coin(
|
|
|
+ 'l2/aadf1a9da6a38b7e7e11839364ee42002260eff1657f403b9ce608337bcb986b',
|
|
|
+ simulate.amount.toArray()[0].amount,
|
|
|
+ ),
|
|
|
+ ]),
|
|
|
+ ),
|
|
|
+ })
|
|
|
+ try {
|
|
|
+ const broadcast = await this.initAi.tx.broadcastAsync(signed)
|
|
|
+ return `done`
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ return `error`
|
|
|
+ }
|
|
|
+
|
|
|
+ // const res = await this.newBridge2BlackWings()
|
|
|
+ }
|
|
|
+ async week5Task5() {
|
|
|
+ const l2InitBalance = await this.civi.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'l2/afaa3f4e1717c75712f8e8073e41f051a4e516cd25daa82d948c4729388edefd',
|
|
|
+ )
|
|
|
+ console.log(l2InitBalance.amount)
|
|
|
+ if (Number(l2InitBalance.amount) < 1500000) {
|
|
|
+ await this.newBridge2Civi()
|
|
|
+ return `l2Init`
|
|
|
+ }
|
|
|
+ const msg = new MsgTransfer(
|
|
|
+ 'transfer',
|
|
|
+ 'channel-0',
|
|
|
+ new Coin(
|
|
|
+ 'l2/afaa3f4e1717c75712f8e8073e41f051a4e516cd25daa82d948c4729388edefd',
|
|
|
+ '1000000',
|
|
|
+ ),
|
|
|
+ this.wallet.key.accAddress,
|
|
|
+ '0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a',
|
|
|
+ null,
|
|
|
+ ((new Date().valueOf() + 3500000) * 1000000).toString(),
|
|
|
+ `{"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"minit_swap_deposit","type_args":[],"args":["JjnYP0/zx59/+jgNkDxgaXtMMsnK+o/d4vH3JyELlSQ=","jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=","QEIPAAAAAAA=","AceZDQAAAAAA","BgAAAAAAAAA=","${bcs
|
|
|
+ .address()
|
|
|
+ .serialize(this.wallet.key.accAddress)
|
|
|
+ .toBase64()}","AA=="]}}}`,
|
|
|
+ )
|
|
|
+ // {"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"minit_swap_deposit","type_args":[],"args":["JjnYP0/zx59/+jgNkDxgaXtMMsnK+o/d4vH3JyELlSQ=","jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=","QA0DAAAAAAA=","AUr8AgAAAAAA","BgAAAAAAAAA=","AAAAAAAAAAAAAAAAwfIGiv3Te+HINdWz7IkKXwKsGQ4=","AA=="]}}}
|
|
|
+ // {"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"minit_swap_deposit","type_args":[],"args":["JjnYP0/zx59/+jgNkDxgaXtMMsnK+o/d4vH3JyELlSQ=","jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=","QEIPAAAAAAA=","AWrtDgAAAAAA","BgAAAAAAAAA=","AAAAAAAAAAAAAAAAwfIGiv3Te+HINdWz7IkKXwKsGQ4=","AA=="]}}}
|
|
|
+
|
|
|
+ const aiWallet = new Wallet(this.civi, this.wallet.key)
|
|
|
+ const simulate = await this.civi.tx.estimateFee(
|
|
|
+ [{ sequenceNumber: await aiWallet.sequence() }],
|
|
|
+ {
|
|
|
+ msgs: [msg],
|
|
|
+ feeDenoms: [
|
|
|
+ 'l2/afaa3f4e1717c75712f8e8073e41f051a4e516cd25daa82d948c4729388edefd',
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ )
|
|
|
+ const signed = await aiWallet.createAndSignTx({
|
|
|
+ msgs: [msg],
|
|
|
+ fee: new Fee(
|
|
|
+ simulate.gas_limit,
|
|
|
+ new Coins([
|
|
|
+ new Coin(
|
|
|
+ 'l2/afaa3f4e1717c75712f8e8073e41f051a4e516cd25daa82d948c4729388edefd',
|
|
|
+ simulate.amount.toArray()[0].amount,
|
|
|
+ ),
|
|
|
+ ]),
|
|
|
+ ),
|
|
|
+ })
|
|
|
+ try {
|
|
|
+ const broadcast = await this.civi.tx.broadcastAsync(signed)
|
|
|
+ console.log(broadcast)
|
|
|
+ return `done`
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ return `error`
|
|
|
+ }
|
|
|
+
|
|
|
+ // const res = await this.newBridge2BlackWings()
|
|
|
+ }
|
|
|
+ async week5Task3() {
|
|
|
+ const l2InitBalance = await this.noon.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'l2/ffea49d63cbadcfd749b4f635eca198b2f3b44cb1f6b580f5d201d58f3bf7aea',
|
|
|
+ )
|
|
|
+ if (Number(l2InitBalance.amount) < 1000000) {
|
|
|
+ await this.newBridge2Noon()
|
|
|
+ return `l2Init`
|
|
|
+ }
|
|
|
+ const l2UsdcBalance = await this.noon.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'ibc/C3E53D20BC7A4CC993B17C7971F8ECD06A433C10B6A96F4C4C3714F0624C56DA',
|
|
|
+ )
|
|
|
+ if (Number(l2UsdcBalance.amount) < 100000) {
|
|
|
+ const usdcL1 = await this.lcd.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'utia',
|
|
|
+ )
|
|
|
+ if (Number(usdcL1.amount) < 100000) {
|
|
|
+ await this.swapTiaScript()
|
|
|
+ return `usdcL1`
|
|
|
+ }
|
|
|
+ await this.newBridgeTia2Noon()
|
|
|
+ return `l2Usdc`
|
|
|
+ }
|
|
|
+
|
|
|
+ const msg = new MsgTransfer(
|
|
|
+ 'transfer',
|
|
|
+ 'channel-0',
|
|
|
+ new Coin(
|
|
|
+ 'ibc/C3E53D20BC7A4CC993B17C7971F8ECD06A433C10B6A96F4C4C3714F0624C56DA',
|
|
|
+ '100000',
|
|
|
+ ),
|
|
|
+ this.wallet.key.accAddress,
|
|
|
+ '0x1::cosmos::transfer',
|
|
|
+ null,
|
|
|
+ ((new Date().valueOf() + 3500000) * 1000000).toString(),
|
|
|
+ `{"move":{"message":{"module_address":"0x1","module_name":"cosmos","function_name":"transfer","type_args":[],"args":["${bcs
|
|
|
+ .string()
|
|
|
+ .serialize(this.wallet.key.accAddress)
|
|
|
+ .toBase64()}",
|
|
|
+ "rM6zskU5Kv4INGt5TPXE/4Xn6ajIL8r1ESrp1kulfMs=",
|
|
|
+ "oIYBAAAAAAA=",
|
|
|
+ "CHRyYW5zZmVy",
|
|
|
+ "CWNoYW5uZWwtMg==",
|
|
|
+ "AAAAAAAAAAA=",
|
|
|
+ "AAAAAAAAAAA=",
|
|
|
+ "wLIeSpLN2Rc=",
|
|
|
+ "AA=="]}}}`,
|
|
|
+ )
|
|
|
+ //"args":["K2luaXQxYzhlcWR6aGE2ZGE3cmpwNDZrZTdlemcydHVwMmN4Z3dwYXp1c2U=",
|
|
|
+ // "rM6zskU5Kv4INGt5TPXE/4Xn6ajIL8r1ESrp1kulfMs=",
|
|
|
+ // "oIYBAAAAAAA=",
|
|
|
+ // "CHRyYW5zZmVy",
|
|
|
+ // "CWNoYW5uZWwtMg==",
|
|
|
+ // "AAAAAAAAAAA=",
|
|
|
+ // "AAAAAAAAAAA=",
|
|
|
+ // "wLIeSpLN2Rc=",
|
|
|
+ // "AA=="]}}}
|
|
|
+
|
|
|
+ const noonWallet = new Wallet(this.noon, this.wallet.key)
|
|
|
+ const simulate = await this.noon.tx.estimateFee(
|
|
|
+ [{ sequenceNumber: await noonWallet.sequence() }],
|
|
|
+ {
|
|
|
+ msgs: [msg],
|
|
|
+ feeDenoms: [
|
|
|
+ 'l2/ffea49d63cbadcfd749b4f635eca198b2f3b44cb1f6b580f5d201d58f3bf7aea',
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ )
|
|
|
+ // // console.log(simulate)
|
|
|
+ // // return false
|
|
|
+ const signed = await noonWallet.createAndSignTx({
|
|
|
+ msgs: [msg],
|
|
|
+ fee: new Fee(
|
|
|
+ simulate.gas_limit,
|
|
|
+ new Coins([
|
|
|
+ new Coin(
|
|
|
+ 'l2/ffea49d63cbadcfd749b4f635eca198b2f3b44cb1f6b580f5d201d58f3bf7aea',
|
|
|
+ simulate.amount.toArray()[0].amount,
|
|
|
+ ),
|
|
|
+ ]),
|
|
|
+ ),
|
|
|
+ })
|
|
|
+ try {
|
|
|
+ const broadcast = await this.noon.tx.broadcastAsync(signed)
|
|
|
+ return `done`
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ return `error`
|
|
|
+ }
|
|
|
+
|
|
|
+ // const res = await this.newBridge2BlackWings()
|
|
|
+ }
|
|
|
+ async week5Task4() {
|
|
|
+ // const balance = await this.miniMove.bank.balance(this.key.accAddress)
|
|
|
+ //
|
|
|
+ // console.log(balance)
|
|
|
+
|
|
|
+ const l2InitBalance = await this.miniMove.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'l2/771d639f30fbe45e3fbca954ffbe2fcc26f915f5513c67a4a2d0bc1d635bdefd',
|
|
|
+ )
|
|
|
+ if (Number(l2InitBalance.amount) < 1000000) {
|
|
|
+ await this.newBridge2Minimove()
|
|
|
+ return `l2Init`
|
|
|
+ }
|
|
|
+
|
|
|
+ const l2UsdcBalance = await this.miniMove.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'ibc/0E98D4D1D907597448FD3A7C33DDAE10A90FA86FC8A9F5A0B175393783F249CD',
|
|
|
+ )
|
|
|
+
|
|
|
+ if (Number(l2UsdcBalance.amount) < 100) {
|
|
|
+ const usdcL1 = await this.lcd.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'ueth',
|
|
|
+ )
|
|
|
+ if (Number(usdcL1.amount) < 100) {
|
|
|
+ await this.swapEthScript()
|
|
|
+ return `usdcL1`
|
|
|
+ }
|
|
|
+ await this.newBridgeEth2MiniMove()
|
|
|
+ return `l2Usdc`
|
|
|
+ }
|
|
|
+ const msg = new MsgTransfer(
|
|
|
+ 'transfer',
|
|
|
+ 'channel-0',
|
|
|
+ new Coin(
|
|
|
+ 'ibc/0E98D4D1D907597448FD3A7C33DDAE10A90FA86FC8A9F5A0B175393783F249CD',
|
|
|
+ '100',
|
|
|
+ ),
|
|
|
+ this.wallet.key.accAddress,
|
|
|
+ '0x1::cosmos::transfer',
|
|
|
+ null,
|
|
|
+ ((new Date().valueOf() + 3500000) * 1000000).toString(),
|
|
|
+ `{"move":{"message":{"module_address":"0x1","module_name":"cosmos","function_name":"transfer","type_args":[],"args":["${bcs
|
|
|
+ .string()
|
|
|
+ .serialize(this.wallet.key.accAddress)
|
|
|
+ .toBase64()}","vg74SeQlyomDDB/w+YT1sLUStwyralrilMYlXD7kzQw=","ZAAAAAAAAAA=","CHRyYW5zZmVy","CmNoYW5uZWwtMTM=","AAAAAAAAAAA=","AAAAAAAAAAA=","gP4gbcvR2Rc=","AA=="]}}}`,
|
|
|
+ )
|
|
|
+
|
|
|
+ //["K2luaXQxYzhlcWR6aGE2ZGE3cmpwNDZrZTdlemcydHVwMmN4Z3dwYXp1c2U=",
|
|
|
+ // "vg74SeQlyomDDB/w+YT1sLUStwyralrilMYlXD7kzQw=",
|
|
|
+ // "ZAAAAAAAAAA=",
|
|
|
+ // "CHRyYW5zZmVy",
|
|
|
+ // "CmNoYW5uZWwtMTM=",
|
|
|
+ // "AAAAAAAAAAA=",
|
|
|
+ // "AAAAAAAAAAA=",
|
|
|
+ // "gP4gbcvR2Rc=",
|
|
|
+ // "AA=="]}}}
|
|
|
+
|
|
|
+ const miniWallet = new Wallet(this.miniMove, this.wallet.key)
|
|
|
+ const simulate = await this.miniMove.tx.estimateFee(
|
|
|
+ [{ sequenceNumber: await miniWallet.sequence() }],
|
|
|
+ {
|
|
|
+ msgs: [msg],
|
|
|
+ feeDenoms: [
|
|
|
+ 'l2/771d639f30fbe45e3fbca954ffbe2fcc26f915f5513c67a4a2d0bc1d635bdefd',
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ )
|
|
|
+ // // console.log(simulate)
|
|
|
+ // // return false
|
|
|
+ const signed = await miniWallet.createAndSignTx({
|
|
|
+ msgs: [msg],
|
|
|
+ fee: new Fee(
|
|
|
+ simulate.gas_limit,
|
|
|
+ new Coins([
|
|
|
+ new Coin(
|
|
|
+ 'l2/771d639f30fbe45e3fbca954ffbe2fcc26f915f5513c67a4a2d0bc1d635bdefd',
|
|
|
+ simulate.amount.toArray()[0].amount,
|
|
|
+ ),
|
|
|
+ ]),
|
|
|
+ ),
|
|
|
+ })
|
|
|
+ try {
|
|
|
+ const broadcast = await this.miniMove.tx.broadcastAsync(signed)
|
|
|
+ return `done`
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ return `error`
|
|
|
+ }
|
|
|
+
|
|
|
+ // const res = await this.newBridge2BlackWings()
|
|
|
+ }
|
|
|
+ async week5Task6() {
|
|
|
+ const l2InitBalance = await this.tucana.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'l2/333f8e6ae6855338f99d451126bfefc1b920763c16681d55fbc7df68ccb36972',
|
|
|
+ )
|
|
|
+ const l2UsdcBalance = await this.tucana.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5',
|
|
|
+ )
|
|
|
+
|
|
|
+ if (Number(l2InitBalance.amount) < 1000000) {
|
|
|
+ await this.newBridge2Tucana()
|
|
|
+ return `l2Init`
|
|
|
+ }
|
|
|
+ if (Number(l2UsdcBalance.amount) < 1000000) {
|
|
|
+ const usdcL1 = await this.lcd.bank.balanceByDenom(
|
|
|
+ this.key.accAddress,
|
|
|
+ 'uusdc',
|
|
|
+ )
|
|
|
+ if (Number(usdcL1.amount) < 1500000) {
|
|
|
+ await this.swapScript()
|
|
|
+ return `usdcL1`
|
|
|
+ }
|
|
|
+ await this.newBridgeUsdc2Tucana()
|
|
|
+ return `l2Usdc`
|
|
|
+ }
|
|
|
+ const msg = new MsgTransfer(
|
|
|
+ 'transfer',
|
|
|
+ 'channel-0',
|
|
|
+ new Coin(
|
|
|
+ 'ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5',
|
|
|
+ '1000000',
|
|
|
+ ),
|
|
|
+ this.wallet.key.accAddress,
|
|
|
+ '0x1::cosmos::transfer',
|
|
|
+ null,
|
|
|
+ ((new Date().valueOf() + 3500000) * 1000000).toString(),
|
|
|
+ `{"move":{"message":{"module_address":"0x1","module_name":"cosmos","function_name":"transfer","type_args":[],"args":["${bcs
|
|
|
+ .string()
|
|
|
+ .serialize(this.wallet.key.accAddress)
|
|
|
+ .toBase64()}","KYJNlS4DVJD651Z97qXxW1BKaPpzYQBjwWCrH6h91gk=","QEIPAAAAAAA=","CHRyYW5zZmVy","CmNoYW5uZWwtMzE=","AAAAAAAAAAA=","AAAAAAAAAAA=","gORWtgXT2Rc=","AA=="]}}}`,
|
|
|
+ )
|
|
|
+ //["K2luaXQxYzhlcWR6aGE2ZGE3cmpwNDZrZTdlemcydHVwMmN4Z3dwYXp1c2U=","KYJNlS4DVJD651Z97qXxW1BKaPpzYQBjwWCrH6h91gk=","QEIPAAAAAAA=","CHRyYW5zZmVy","CmNoYW5uZWwtMzE=","AAAAAAAAAAA=","AAAAAAAAAAA=","gORWtgXT2Rc=","AA=="]}}}
|
|
|
+ const tucanaWallet = new Wallet(this.tucana, this.wallet.key)
|
|
|
+ const simulate = await this.tucana.tx.estimateFee(
|
|
|
+ [{ sequenceNumber: await tucanaWallet.sequence() }],
|
|
|
+ {
|
|
|
+ msgs: [msg],
|
|
|
+ feeDenoms: [
|
|
|
+ 'l2/333f8e6ae6855338f99d451126bfefc1b920763c16681d55fbc7df68ccb36972',
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ )
|
|
|
+ // console.log(simulate)
|
|
|
+ // return false
|
|
|
+ const signed = await tucanaWallet.createAndSignTx({
|
|
|
+ msgs: [msg],
|
|
|
+ fee: new Fee(
|
|
|
+ simulate.gas_limit,
|
|
|
+ new Coins([
|
|
|
+ new Coin(
|
|
|
+ 'l2/333f8e6ae6855338f99d451126bfefc1b920763c16681d55fbc7df68ccb36972',
|
|
|
+ simulate.amount.toArray()[0].amount,
|
|
|
+ ),
|
|
|
+ ]),
|
|
|
+ ),
|
|
|
+ })
|
|
|
+ try {
|
|
|
+ const broadcast = await this.tucana.tx.broadcastAsync(signed)
|
|
|
+ console.log(broadcast)
|
|
|
+ return `done`
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ return `error`
|
|
|
+ }
|
|
|
+
|
|
|
+ // const res = await this.newBridge2BlackWings()
|
|
|
+ }
|
|
|
}
|