hel 1 year ago
parent
commit
0a5d36e011
2 changed files with 63 additions and 17 deletions
  1. 62 16
      src/BaseClient.ts
  2. 1 1
      src/swapTester.ts

+ 62 - 16
src/BaseClient.ts

@@ -1,9 +1,14 @@
 import {
   APIRequester,
   bcs,
+  Coin,
+  Height,
   LCDClient,
   MnemonicKey,
   Msg,
+  MsgCreateBridge,
+  MsgSetBridgeInfo,
+  MsgTransfer,
   Wallet,
 } from '@initia/initia.js'
 import { getProxyUrl } from './utils'
@@ -11,6 +16,7 @@ import { getProxyUrl } from './utils'
 export abstract class BaseClient {
   key: MnemonicKey
   lcd: LCDClient
+  tur: LCDClient
   wallet: Wallet
   protected constructor(mnemonic: string, useProxy: boolean = false) {
     this.key = new MnemonicKey({
@@ -26,6 +32,14 @@ export abstract class BaseClient {
       useProxy ? requester : null,
     )
 
+    this.tur = new LCDClient(
+      'https://maze-rest-c9796789-107d-49ab-b6de-059724d2a91d.ue1-prod.newmetric.xyz/',
+      {
+        chainId: 'birdee-1',
+      },
+      useProxy ? requester : null,
+    )
+
     this.wallet = new Wallet(this.lcd, this.key)
   }
 
@@ -41,6 +55,10 @@ export abstract class BaseClient {
     const balances = await this.lcd.bank.balance(this.key.accAddress)
     return balances[0].toArray()
   }
+  async checkTurBalance() {
+    const balances = await this.tur.bank.balance(this.key.accAddress)
+    console.log(JSON.stringify(balances))
+  }
 
   async getUsdcAmount() {
     const tokens = await this.checkBalance()
@@ -49,23 +67,51 @@ export abstract class BaseClient {
   }
 
   async bridge() {
+    const msgs = [
+      new MsgTransfer(
+        'transfer', // port
+        'channel-0', // src channel
+        new Coin('utuc', 1000000), // amount
+        this.key.accAddress, // sender
+        '0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a',
+        // receiver
+        // you have to provide one of timeout
+        new Height(0, 0), // timeout height
+        '1716264011493000000', // timeout timestamp
+        '{"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"mixed_route_swap_to","type_args":[],"args":["KxToiwb36zAB/GsetggCNYVVpN+xpO02UHMJotdmzk0=","AA==","QEIPAAAAAAA=","AbguDwAAAAAA","AAAAAAAAAAAAAAAAIzfL288YfTPUDoedDWdgWzL+KVg="]}}}',
+      ),
+    ]
+
+    const signedTx = await this.wallet.createAndSignTx({ msgs })
+
+    await this.tur.tx.broadcastSync(signedTx).then(res => console.log(res))
+    // send(broadcast) tx
+    // await lcd.tx.broadcastSync(signedTx).then(res => console.log(res))
     // {
-    //   "move": {
-    //   "message": {
-    //     "module_address": "0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a",
-    //       "module_name": "swap_transfer",
-    //       "function_name": "mixed_route_swap_to",
-    //       "type_args": [],
-    //       "args": [
-    //       "KxToiwb36zAB/GsetggCNYVVpN+xpO02UHMJotdmzk0=",
-    //       "AQIBACBjlv8aKTjnJqzBAbnFQUuAXZpgXAPI4IMk9cDIgH98vA==",
-    //       "QEIPAAAAAAA=",
-    //       "ASQqBwAAAAAA",
-    //       "AAAAAAAAAAAAAAAAIzfL288YfTPUDoedDWdgWzL+KVg="
-    //     ]
-    //   }
+    //   height: 0,
+    //   txhash: '162AA29DE237BD060EFEFFA862DBD07ECD1C562EBFDD965AD6C34DF856B53DC2',
+    //   raw_log: '[]'
     // }
-    // }
-    // {"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"mixed_route_swap_to","type_args":[],"args":["KxToiwb36zAB/GsetggCNYVVpN+xpO02UHMJotdmzk0=","AQIBACBjlv8aKTjnJqzBAbnFQUuAXZpgXAPI4IMk9cDIgH98vA==","QEIPAAAAAAA=","ASQqBwAAAAAA","AAAAAAAAAAAAAAAAIzfL288YfTPUDoedDWdgWzL+KVg="]}}}
   }
+
+  // const bridgeMsg = new MsgCreateBridge(this.key.accAddress)
+  // new MsgSetBridgeInfo(this.key.accAddress, {})
+  // {
+  //   "move": {
+  //   "message": {
+  //     "module_address": "0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a",
+  //       "module_name": "swap_transfer",
+  //       "function_name": "mixed_route_swap_to",
+  //       "type_args": [],
+  //       "args": [
+  //       "KxToiwb36zAB/GsetggCNYVVpN+xpO02UHMJotdmzk0=",
+  //       "AQIBACBjlv8aKTjnJqzBAbnFQUuAXZpgXAPI4IMk9cDIgH98vA==",
+  //       "QEIPAAAAAAA=",
+  //       "ASQqBwAAAAAA",
+  //       "AAAAAAAAAAAAAAAAIzfL288YfTPUDoedDWdgWzL+KVg="
+  //     ]
+  //   }
+  // }
+  // }
+  // {"move":{"message":{"module_address":"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a","module_name":"swap_transfer","function_name":"mixed_route_swap_to","type_args":[],"args":["KxToiwb36zAB/GsetggCNYVVpN+xpO02UHMJotdmzk0=","AQIBACBjlv8aKTjnJqzBAbnFQUuAXZpgXAPI4IMk9cDIgH98vA==","QEIPAAAAAAA=","ASQqBwAAAAAA","AAAAAAAAAAAAAAAAIzfL288YfTPUDoedDWdgWzL+KVg="]}}}
 }

+ 1 - 1
src/swapTester.ts

@@ -32,6 +32,6 @@ const lcd = new LCDClient('https://api-initia-testnet.whispernode.com/', {
 
 async function main() {
   const client = new InitiaClient(key.mnemonic)
-  await client.claimable()
+  await client.checkTurBalance()
 }
 main()