|
@@ -4,7 +4,6 @@ import {
|
|
|
Coin,
|
|
|
Coins,
|
|
|
Fee,
|
|
|
- Height,
|
|
|
LCDClient,
|
|
|
MnemonicKey,
|
|
|
Msg,
|
|
@@ -480,142 +479,6 @@ export abstract class BaseClient {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- async bridge() {
|
|
|
- const size = bcs.option(bcs.u64()).serialize(0).toBase64()
|
|
|
- const balance = await this.checkTucanaBalance()
|
|
|
- console.log('balance', balance)
|
|
|
- const randomLimit = 70000 + Math.floor(Math.random() * 1000)
|
|
|
- const value = Number(balance) - randomLimit
|
|
|
- const size2 = bcs.option(bcs.u64()).serialize(value.toString()).toBase64()
|
|
|
- const msgs = [
|
|
|
- new MsgTransfer(
|
|
|
- 'transfer', // port
|
|
|
- 'channel-0', // src channel
|
|
|
- new Coin('utuc', value), // amount
|
|
|
- this.key.accAddress, // sender
|
|
|
- '0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a::swap_transfer::mixed_route_swap_to',
|
|
|
- // receiver
|
|
|
- // you have to provide one of timeout
|
|
|
- new Height(0, 0), // timeout height
|
|
|
- ((new Date().valueOf() + 3500000) * 1000000).toString(), // timeout timestamp
|
|
|
- // timeout timestamp
|
|
|
- `{"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"mixed_route_swap_to","type_args":[],"args":["KxToiwb36zAB/GsetggCNYVVpN+xpO02UHMJotdmzk0=","AQIBACBjlv8aKTjnJqzBAbnFQUuAXZpgXAPI4IMk9cDIgH98vA==",${size2},${size},${bcs
|
|
|
- .address()
|
|
|
- .serialize(this.key.accAddress)
|
|
|
- .toBase64()}]}}}`,
|
|
|
- ),
|
|
|
- ]
|
|
|
-
|
|
|
- const fee = {
|
|
|
- amount: [
|
|
|
- {
|
|
|
- amount: '62579',
|
|
|
- denom: 'utuc',
|
|
|
- },
|
|
|
- ],
|
|
|
- gasLimit: '417192',
|
|
|
- granter: '',
|
|
|
- payer: '',
|
|
|
- }
|
|
|
- // 创建 Coins 实例
|
|
|
- const coin = new Coin('utuc', '70000')
|
|
|
- const coins = new Coins()
|
|
|
- coins.add(coin)
|
|
|
- // 创建 Fee 实例
|
|
|
- const feeInstance = new Fee(
|
|
|
- parseInt(fee.gasLimit, 10), // gas_limit
|
|
|
- coins, // amount
|
|
|
- fee.payer, // payer (optional)
|
|
|
- fee.granter, // granter (optional)
|
|
|
- )
|
|
|
- const signedTx = await this.tucanaWallet.createAndSignTx({
|
|
|
- msgs,
|
|
|
- fee: feeInstance,
|
|
|
- })
|
|
|
-
|
|
|
- await this.tucana.tx.broadcastSync(signedTx).then(res => console.log(res))
|
|
|
- }
|
|
|
- async bridge2Blackwings(amount: number) {
|
|
|
- const size = bcs.option(bcs.u64()).serialize(0).toBase64()
|
|
|
- const size2 = bcs
|
|
|
- .u64()
|
|
|
- .serialize(amount * Math.pow(10, 6))
|
|
|
- .toBase64()
|
|
|
- const msg = new MsgExecute(
|
|
|
- this.key.accAddress,
|
|
|
- '0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a',
|
|
|
- 'swap_transfer',
|
|
|
- 'mixed_route_swap_transfer',
|
|
|
- [],
|
|
|
- [
|
|
|
- 'jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=',
|
|
|
- 'AQIBACDb8GxIrzmE7G2a6KmqfbsLseeEqpuMSlaBr2YM+FWNfQ==',
|
|
|
- size2,
|
|
|
- size,
|
|
|
- bcs.string().serialize(this.key.accAddress).toBase64(),
|
|
|
- 'CHRyYW5zZmVy',
|
|
|
- 'CmNoYW5uZWwtMTM=',
|
|
|
- 'AA==',
|
|
|
- ],
|
|
|
- )
|
|
|
- const signed = await this.wallet.createAndSignTx({
|
|
|
- msgs: Array.isArray(msg) ? msg : [msg],
|
|
|
- feeDenoms: ['uinit'],
|
|
|
- })
|
|
|
- await this.lcd.tx.broadcast(signed)
|
|
|
- }
|
|
|
- async bridge2Ai(amount: number) {
|
|
|
- const size = bcs
|
|
|
- .option(bcs.u64())
|
|
|
- .serialize(amount * Math.pow(10, 6) * 0.995)
|
|
|
- .toBase64()
|
|
|
- const size2 = bcs
|
|
|
- .u64()
|
|
|
- .serialize(amount * Math.pow(10, 6))
|
|
|
- .toBase64()
|
|
|
- const msg = new MsgExecute(
|
|
|
- this.key.accAddress,
|
|
|
- '0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a',
|
|
|
- 'swap_transfer',
|
|
|
- 'mixed_route_swap_deposit',
|
|
|
- [],
|
|
|
-
|
|
|
- [
|
|
|
- 'jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=',
|
|
|
- 'AA==',
|
|
|
- size2,
|
|
|
- size,
|
|
|
- 'BgAAAAAAAAA=',
|
|
|
- bcs.address().serialize(this.key.accAddress).toBase64(),
|
|
|
- 'AA==',
|
|
|
- ],
|
|
|
- )
|
|
|
- // [
|
|
|
- // ('jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=',
|
|
|
- // 'AA==',
|
|
|
- // 'QEIPAAAAAAA=',
|
|
|
- // 'AbguDwAAAAAA',
|
|
|
- // 'BgAAAAAAAAA=',
|
|
|
- // 'AAAAAAAAAAAAAAAAdpKzfgzxKB4sBaUJs11Wa9w+emA=',
|
|
|
- // 'AA==')
|
|
|
- // ][
|
|
|
- // ('jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=',
|
|
|
- // 'AA==',
|
|
|
- // 'gIQeAAAAAAA=',
|
|
|
- // 'AXBdHgAAAAAA',
|
|
|
- // 'BgAAAAAAAAA=',
|
|
|
- // 'AAAAAAAAAAAAAAAAdpKzfgzxKB4sBaUJs11Wa9w+emA=',
|
|
|
- // 'AA==')
|
|
|
- // ]
|
|
|
-
|
|
|
- const signed = await this.wallet.createAndSignTx({
|
|
|
- msgs: Array.isArray(msg) ? msg : [msg],
|
|
|
- feeDenoms: ['uinit'],
|
|
|
- })
|
|
|
- const broadcast = await this.lcd.tx.broadcastSync(signed)
|
|
|
- console.log(broadcast)
|
|
|
- }
|
|
|
-
|
|
|
async newBridgeUsdc2BlackWings() {
|
|
|
const msg = new MsgTransfer(
|
|
|
'transfer',
|
|
@@ -733,57 +596,70 @@ export abstract class BaseClient {
|
|
|
async newBridge2Minimove() {
|
|
|
const msg = new MsgInitiateTokenDeposit(
|
|
|
this.key.accAddress,
|
|
|
- 1,
|
|
|
+ 3,
|
|
|
this.key.accAddress,
|
|
|
new Coin('uinit', 1000000),
|
|
|
)
|
|
|
return await this.broadcast(msg)
|
|
|
}
|
|
|
|
|
|
- async questBridge() {
|
|
|
- const moduleAddress =
|
|
|
- '0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a'
|
|
|
+ // async questBridge() {
|
|
|
+ // const moduleAddress =
|
|
|
+ // '0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a'
|
|
|
+ //
|
|
|
+ // const moduleName = 'minitswap_router'
|
|
|
+ // const functionName = 'swap'
|
|
|
+ // const meta = [
|
|
|
+ // 'PN/ySmqbELsVrt7cVYQkA3UfLHCNKFoEUf2Paq27w5s=',
|
|
|
+ // 'lyGI4ysszsVX7tmLvqnUKhptwnDakAmSY2Xet8Sdt90=',
|
|
|
+ // '3q94txYi6eJFzU4BRaundwETCEiD5/iM04i7qTkyRpM=',
|
|
|
+ // '2+lWb+7Xy+Fy4RJ3INn8xwr0QQlVvARSifYjl59C9Bc=',
|
|
|
+ // 'MaT2Csca1vMydHLPGphV211CBZwKsp4Wv7byEuusLRw=',
|
|
|
+ // 'le4pSgOtvbtbIFFlG38fbLx7XtjDh57R6L4+aa8OG/U=',
|
|
|
+ // ]
|
|
|
+ // const random = Math.floor(Math.random() * meta.length)
|
|
|
+ // const input = [
|
|
|
+ // 'jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=',
|
|
|
+ // meta[random],
|
|
|
+ // 'QEIPAAAAAAA=',
|
|
|
+ // bcs.address().serialize(this.key.accAddress).toBase64(),
|
|
|
+ // 'AQ==',
|
|
|
+ // 'AA==',
|
|
|
+ // 'AVg+DwAAAAAA',
|
|
|
+ // 'AQEAAAAAAAAA',
|
|
|
+ // ]
|
|
|
+ // const msg = new MsgExecute(
|
|
|
+ // this.key.accAddress,
|
|
|
+ // moduleAddress,
|
|
|
+ // moduleName,
|
|
|
+ // functionName,
|
|
|
+ // [],
|
|
|
+ // input,
|
|
|
+ // )
|
|
|
+ // return await this.broadcast(msg)
|
|
|
+ //
|
|
|
+ // // [
|
|
|
+ // // ('jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=',
|
|
|
+ // // 'MaT2Csca1vMydHLPGphV211CBZwKsp4Wv7byEuusLRw=',
|
|
|
+ // // 'QEIPAAAAAAA=',
|
|
|
+ // // 'AAAAAAAAAAAAAAAAqzPDLM/gn6y5sCVI5Iusim8CTdM=',
|
|
|
+ // // 'AQ==',
|
|
|
+ // // 'AA==',
|
|
|
+ // // 'AVg+DwAAAAAA',
|
|
|
+ // // 'AQEAAAAAAAAA')
|
|
|
+ // // ]
|
|
|
+ // }
|
|
|
+
|
|
|
+ async randomBridge() {
|
|
|
+ const bridgeId = [100, 64, 1, 2, 3]
|
|
|
+ const random = Math.floor(Math.random() * bridgeId.length)
|
|
|
|
|
|
- const moduleName = 'minitswap_router'
|
|
|
- const functionName = 'swap'
|
|
|
- const meta = [
|
|
|
- 'PN/ySmqbELsVrt7cVYQkA3UfLHCNKFoEUf2Paq27w5s=',
|
|
|
- 'lyGI4ysszsVX7tmLvqnUKhptwnDakAmSY2Xet8Sdt90=',
|
|
|
- '3q94txYi6eJFzU4BRaundwETCEiD5/iM04i7qTkyRpM=',
|
|
|
- '2+lWb+7Xy+Fy4RJ3INn8xwr0QQlVvARSifYjl59C9Bc=',
|
|
|
- 'MaT2Csca1vMydHLPGphV211CBZwKsp4Wv7byEuusLRw=',
|
|
|
- 'le4pSgOtvbtbIFFlG38fbLx7XtjDh57R6L4+aa8OG/U=',
|
|
|
- ]
|
|
|
- const random = Math.floor(Math.random() * meta.length)
|
|
|
- const input = [
|
|
|
- 'jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=',
|
|
|
- meta[random],
|
|
|
- 'QEIPAAAAAAA=',
|
|
|
- bcs.address().serialize(this.key.accAddress).toBase64(),
|
|
|
- 'AQ==',
|
|
|
- 'AA==',
|
|
|
- 'AVg+DwAAAAAA',
|
|
|
- 'AQEAAAAAAAAA',
|
|
|
- ]
|
|
|
- const msg = new MsgExecute(
|
|
|
+ const msg = new MsgInitiateTokenDeposit(
|
|
|
+ this.key.accAddress,
|
|
|
+ bridgeId[random],
|
|
|
this.key.accAddress,
|
|
|
- moduleAddress,
|
|
|
- moduleName,
|
|
|
- functionName,
|
|
|
- [],
|
|
|
- input,
|
|
|
+ new Coin('uinit', 1000000),
|
|
|
)
|
|
|
return await this.broadcast(msg)
|
|
|
-
|
|
|
- // [
|
|
|
- // ('jkczvavPfUr8PRTw3UbJv1L7D86eS5lsk54ZW4vIkdk=',
|
|
|
- // 'MaT2Csca1vMydHLPGphV211CBZwKsp4Wv7byEuusLRw=',
|
|
|
- // 'QEIPAAAAAAA=',
|
|
|
- // 'AAAAAAAAAAAAAAAAqzPDLM/gn6y5sCVI5Iusim8CTdM=',
|
|
|
- // 'AQ==',
|
|
|
- // 'AA==',
|
|
|
- // 'AVg+DwAAAAAA',
|
|
|
- // 'AQEAAAAAAAAA')
|
|
|
- // ]
|
|
|
}
|
|
|
}
|