| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- const algosdk = require('algosdk');
- const TestLib = require('./testlib.ts')
- const testLib = new TestLib.TestLib()
- const fs = require('fs');
- const path = require('path');
- import {
- getAlgoClient,
- submitVAA,
- submitVAAHdr,
- simpleSignVAA,
- getIsTransferCompletedAlgorand,
- parseVAA,
- CORE_ID,
- TOKEN_BRIDGE_ID
- } from "@certusone/wormhole-sdk/lib/cjs/algorand/Algorand";
- import {
- hexStringToUint8Array,
- uint8ArrayToHexString,
- } from "@certusone/wormhole-sdk/lib/cjs/algorand/TmplSig";
- import {
- getTempAccounts,
- } from "@certusone/wormhole-sdk/lib/cjs/algorand/Helpers";
- const guardianKeys = [
- "beFA429d57cD18b7F8A4d91A2da9AB4AF05d0FBe"
- ]
- const guardianPrivKeys = [
- "cfb12303a19cde580bb4dd771639b0d26bc68353645571a8cff516ab2ee113a0"
- ]
- class AlgoTests {
- constructor() {
- }
- async runTests() {
- let seq = Math.floor(new Date().getTime() / 1000.0);
- // let t = "01000000000100bc942f5b6da266078844b26cb01bb541e0b5963da5bae9aadfe717ed5376efa711224796fc9e893dbf6f19ef6472a62f9af9241ece016e42da8a076bbf1ffe3c006250770b625077090001000000000000000000000000000000000000000000000000000000000000000400000000625077092000000000000000000000000000000000000000000000000000000000436f72650200000000000101beFA429d57cD18b7F8A4d91A29AB4AF05d0FBe"
- // console.log(t)
- // console.log(parseVAA(hexStringToUint8Array(t)))
- // process.exit(0)
- console.log("test start");
- let client = getAlgoClient();
- let accounts = await getTempAccounts();
- let player = accounts[0]
- let t = testLib.genAssetMeta(guardianPrivKeys, 0, seq, seq, "4523c3F29447d1f32AEa95BEBD00383c4640F1b4", 1, 8, "USDC", "CircleCoin")
- console.log(t)
- console.log(parseVAA(hexStringToUint8Array(t)))
- await submitVAA(hexStringToUint8Array(t), client, player, TOKEN_BRIDGE_ID)
- process.exit(0)
- // vaaLogs.append(["createWrappedOnAlgorand", attestVAA.hex()])
- // self.submitVAA(attestVAA, client, player, self.tokenid)
- t = testLib.genTransfer(guardianPrivKeys, 1, 1, 1, 1, "4523c3F29447d1f32AEa95BEBD00383c4640F1b4", 2, uint8ArrayToHexString(algosdk.decodeAddress(player.addr).publicKey, false), 8, 0)
- console.log(t)
- console.log(parseVAA(hexStringToUint8Array(t)))
- process.exit(0)
- console.log("seq = ", seq);
- console.log("XXX upgrading the the guardian set using untrusted account...", seq)
- let upgradeVAA = testLib.genGuardianSetUpgrade(guardianPrivKeys, 0, 1, seq, seq, guardianKeys)
- console.log(upgradeVAA)
- console.log(parseVAA(hexStringToUint8Array(upgradeVAA)))
- let vaa = hexStringToUint8Array(upgradeVAA);
-
- if (await getIsTransferCompletedAlgorand(client, vaa, CORE_ID, player) != false) {
- console.log("assert failed 1");
- process.exit(-1);
- }
- await submitVAA(vaa, client, player, CORE_ID)
- if (await getIsTransferCompletedAlgorand(client, vaa, CORE_ID, player) != true) {
- console.log("assert failed 2");
- process.exit(-1);
- }
- process.exit(0)
- seq = seq + 1
- console.log("XXX upgrading again...", seq)
- upgradeVAA = testLib.genGuardianSetUpgrade(guardianPrivKeys, 1, 2, seq, seq, guardianKeys)
- console.log(upgradeVAA)
- await submitVAA(hexStringToUint8Array(upgradeVAA), client, player, CORE_ID)
- seq = seq + 1
- console.log("XXX registering chain 2", seq)
- let reg = testLib.genRegisterChain(guardianPrivKeys, 2, 1, seq, 2)
- console.log(reg)
- await submitVAA(hexStringToUint8Array(reg), client, player, TOKEN_BRIDGE_ID)
- seq = seq + 1
- console.log("XXX gen asset meta", seq)
- let a = testLib.genAssetMeta(guardianPrivKeys, 2, seq, seq, "4523c3F29447d1f32AEa95BEBD00383c4640F1b4", 2, 8, "USDC", "CircleCoin")
- console.log(a)
- await submitVAA(hexStringToUint8Array(a), client, player, TOKEN_BRIDGE_ID)
- seq = seq + 1
- console.log("XXX Transfer the asset ")
- let transferVAA = testLib.genTransfer(guardianPrivKeys, 2, 1, seq, 1, "4523c3F29447d1f32AEa95BEBD00383c4640F1b4", 2, uint8ArrayToHexString(algosdk.decodeAddress(player.addr).publicKey, false), 8, 0)
- await submitVAA(hexStringToUint8Array(transferVAA), client, player, TOKEN_BRIDGE_ID)
- seq = seq + 1
- console.log("test complete");
- }
- };
- let t = new AlgoTests()
- t.runTests()
|