From 45d72d205dfe7240a4a68ed48fd196b2e203c9d7 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Wed, 13 Nov 2024 13:28:01 +0300 Subject: [PATCH 01/16] solana --- package.json | 7 +- packages/localnet/src/index.ts | 2 + packages/localnet/src/setupSolana.ts | 99 ++ .../protocol_contracts_solana-keypair.json | 1 + .../deploy/protocol_contracts_solana.so | Bin 0 -> 356384 bytes packages/localnet/src/solana/idl/gateway.json | 1039 +++++++++++++++++ yarn.lock | 617 +++++++++- 7 files changed, 1759 insertions(+), 6 deletions(-) create mode 100644 packages/localnet/src/setupSolana.ts create mode 100644 packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json create mode 100755 packages/localnet/src/solana/deploy/protocol_contracts_solana.so create mode 100644 packages/localnet/src/solana/idl/gateway.json diff --git a/package.json b/package.json index 8989a8f..0a77e59 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "license": "MIT", "packageManager": "yarn@1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72", "devDependencies": { + "@types/elliptic": "^6.4.18", "@types/wait-on": "^5.3.4", "@typescript-eslint/eslint-plugin": "^8.0.1", "@typescript-eslint/parser": "^8.0.1", @@ -33,14 +34,18 @@ "typescript": "^5.5.4" }, "dependencies": { + "@coral-xyz/anchor": "^0.30.1", "@inquirer/prompts": "^5.5.0", + "@solana/web3.js": "^1.95.4", "@uniswap/v2-core": "^1.0.1", "@uniswap/v2-periphery": "^1.1.0-beta.0", "@zetachain/protocol-contracts": "11.0.0-rc3", + "@zetachain/protocol-contracts-solana": "^2.0.0-rc1", "ansis": "^3.3.2", "concurrently": "^8.2.2", + "elliptic": "6.5.7", "ethers": "^6.13.2", "hardhat": "^2.22.8", "wait-on": "^7.2.0" } -} \ No newline at end of file +} diff --git a/packages/localnet/src/index.ts b/packages/localnet/src/index.ts index d73f2cc..10b7200 100755 --- a/packages/localnet/src/index.ts +++ b/packages/localnet/src/index.ts @@ -17,6 +17,7 @@ import { handleOnZEVMWithdrawn } from "./handleOnZEVMWithdrawn"; import { createToken } from "./createToken"; import { handleOnZEVMWithdrawnAndCalled } from "./handleOnZEVMWithdrawnAndCalled"; import { handleOnEVMDepositedAndCalled } from "./handleOnEVMDepositedAndCalled"; +import { setupSolana } from "./setupSolana"; const FUNGIBLE_MODULE_ADDRESS = "0x735b14BB79463307AAcBED86DAf3322B1e6226aB"; @@ -254,6 +255,7 @@ export const initLocalnet = async ({ port: number; exitOnError: boolean; }) => { + await setupSolana(); const provider = new ethers.JsonRpcProvider(`http://127.0.0.1:${port}`); provider.pollingInterval = 100; // anvil test mnemonic diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts new file mode 100644 index 0000000..c316849 --- /dev/null +++ b/packages/localnet/src/setupSolana.ts @@ -0,0 +1,99 @@ +import { exec } from "child_process"; +import util from "util"; +import * as anchor from "@coral-xyz/anchor"; +import Gateway_IDL from "./solana/idl/gateway.json"; +import { keccak256 } from "ethereumjs-util"; +import { Keypair } from "@solana/web3.js"; + +const execAsync = util.promisify(exec); + +const chain_id = 111111; +const chain_id_bn = new anchor.BN(chain_id); + +const providerUrl = "http://localhost:8899"; + +export const setupSolana = async () => { + const keypair = await getKeypairFromFile("~/.config/solana/id.json"); + + const gatewaySO = + "./packages/localnet/src/solana/deploy/protocol_contracts_solana.so"; + console.log(`Deploying Solana program: ${gatewaySO}`); + + try { + // const { stdout } = await execAsync( + // `solana program deploy ${gatewaySO} --output json` + // ); + // const output = JSON.parse(stdout); + // const programId = output.programId; + + // if (!programId) { + // throw new Error("Program ID not found in output."); + // } + + // console.log(`Program ID: ${programId}`); + + // Initialize the Solana provider and program with specified URL + const keypair = await getKeypairFromFile("~/.config/solana/id.json"); + const wallet = new anchor.Wallet(keypair); + const connection = new anchor.web3.Connection(providerUrl, "confirmed"); + const provider = new anchor.AnchorProvider( + connection, + wallet, + anchor.AnchorProvider.defaultOptions() + ); + anchor.setProvider(provider); + const programId = new anchor.web3.PublicKey(Gateway_IDL.address); + const gatewayProgram = new anchor.Program( + Gateway_IDL as anchor.Idl, + provider + ); + + const solanaKeypair = Keypair.generate(); + const solanaPublicKey = solanaKeypair.publicKey.toBuffer(); + + console.log("Solana Public Key:", solanaKeypair.publicKey.toBase58()); + + const addressBuffer = keccak256(solanaPublicKey); + const tssAddress = addressBuffer.slice(-20); + + console.log( + "Derived TSS Address:", + Buffer.from(tssAddress).toString("hex") + ); + try { + await gatewayProgram.methods.initialize(tssAddress, chain_id_bn).rpc(); + } catch (error: any) { + console.error("Transaction error:", error); + if (error.logs) { + console.error("Logs:", error.logs); + } + throw error; + } + } catch (error: any) { + console.error(`Deployment error: ${error.message}`); + throw error; + } +}; + +const getKeypairFromFile = async (filepath: any) => { + const path = await import("path"); + if (filepath.startsWith("~")) { + const home = process.env.HOME || null; + if (home) { + filepath = path.join(home, filepath.slice(1)); + } + } + + try { + const { readFile } = await import("fs/promises"); + const fileContentsBuffer = await readFile(filepath); + const parsedFileContents = Uint8Array.from( + JSON.parse(fileContentsBuffer.toString()) + ); + return Keypair.fromSecretKey(parsedFileContents); + } catch (error: any) { + throw new Error( + `Error reading keypair from file at '${filepath}': ${error.message}` + ); + } +}; diff --git a/packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json b/packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json new file mode 100644 index 0000000..8fc4c05 --- /dev/null +++ b/packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json @@ -0,0 +1 @@ +[160,110,223,218,198,143,233,108,121,51,51,19,193,224,80,171,1,126,91,78,51,205,113,53,254,248,235,35,36,61,73,182,94,51,1,241,110,127,5,253,138,129,241,141,212,98,114,191,255,72,8,40,89,247,193,191,152,87,209,157,80,77,213,117] \ No newline at end of file diff --git a/packages/localnet/src/solana/deploy/protocol_contracts_solana.so b/packages/localnet/src/solana/deploy/protocol_contracts_solana.so new file mode 100755 index 0000000000000000000000000000000000000000..186bac2cf6beac74188987173bb5eecfd508484b GIT binary patch literal 356384 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
fmXy$3v+h()^~ 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 literal 0 HcmV?d00001 diff --git a/packages/localnet/src/solana/idl/gateway.json b/packages/localnet/src/solana/idl/gateway.json new file mode 100644 index 0000000..84707b9 --- /dev/null +++ b/packages/localnet/src/solana/idl/gateway.json @@ -0,0 +1,1039 @@ +{ + "address": "ZETAjseVjuFsxdRxo6MmTCvqFwb3ZHUx56Co3vCmGis", + "metadata": { + "name": "gateway", + "version": "0.1.0", + "spec": "0.1.0", + "description": "Created with Anchor" + }, + "instructions": [ + { + "name": "deposit", + "discriminator": [ + 242, + 35, + 198, + 137, + 82, + 225, + 242, + 182 + ], + "accounts": [ + { + "name": "signer", + "writable": true, + "signer": true + }, + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + }, + { + "name": "receiver", + "type": { + "array": [ + "u8", + 20 + ] + } + } + ] + }, + { + "name": "deposit_and_call", + "discriminator": [ + 65, + 33, + 186, + 198, + 114, + 223, + 133, + 57 + ], + "accounts": [ + { + "name": "signer", + "writable": true, + "signer": true + }, + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + }, + { + "name": "receiver", + "type": { + "array": [ + "u8", + 20 + ] + } + }, + { + "name": "message", + "type": "bytes" + } + ] + }, + { + "name": "deposit_spl_token", + "discriminator": [ + 86, + 172, + 212, + 121, + 63, + 233, + 96, + 144 + ], + "accounts": [ + { + "name": "signer", + "writable": true, + "signer": true + }, + { + "name": "pda", + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "whitelist_entry", + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 119, + 104, + 105, + 116, + 101, + 108, + 105, + 115, + 116 + ] + }, + { + "kind": "account", + "path": "mint_account" + } + ] + } + }, + { + "name": "mint_account" + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + }, + { + "name": "from", + "writable": true + }, + { + "name": "to", + "writable": true + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + }, + { + "name": "receiver", + "type": { + "array": [ + "u8", + 20 + ] + } + } + ] + }, + { + "name": "deposit_spl_token_and_call", + "discriminator": [ + 14, + 181, + 27, + 187, + 171, + 61, + 237, + 147 + ], + "accounts": [ + { + "name": "signer", + "writable": true, + "signer": true + }, + { + "name": "pda", + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "whitelist_entry", + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 119, + 104, + 105, + 116, + 101, + 108, + 105, + 115, + 116 + ] + }, + { + "kind": "account", + "path": "mint_account" + } + ] + } + }, + { + "name": "mint_account" + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + }, + { + "name": "from", + "writable": true + }, + { + "name": "to", + "writable": true + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + }, + { + "name": "receiver", + "type": { + "array": [ + "u8", + 20 + ] + } + }, + { + "name": "message", + "type": "bytes" + } + ] + }, + { + "name": "initialize", + "discriminator": [ + 175, + 175, + 109, + 31, + 13, + 152, + 155, + 237 + ], + "accounts": [ + { + "name": "signer", + "writable": true, + "signer": true + }, + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [ + { + "name": "tss_address", + "type": { + "array": [ + "u8", + 20 + ] + } + }, + { + "name": "chain_id", + "type": "u64" + } + ] + }, + { + "name": "initialize_rent_payer", + "discriminator": [ + 225, + 73, + 166, + 180, + 25, + 245, + 183, + 96 + ], + "accounts": [ + { + "name": "rent_payer_pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 114, + 101, + 110, + 116, + 45, + 112, + 97, + 121, + 101, + 114 + ] + } + ] + } + }, + { + "name": "authority", + "writable": true, + "signer": true + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [] + }, + { + "name": "set_deposit_paused", + "discriminator": [ + 98, + 179, + 141, + 24, + 246, + 120, + 164, + 143 + ], + "accounts": [ + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "signer", + "writable": true, + "signer": true + } + ], + "args": [ + { + "name": "deposit_paused", + "type": "bool" + } + ] + }, + { + "name": "unwhitelist_spl_mint", + "discriminator": [ + 73, + 142, + 63, + 191, + 233, + 238, + 170, + 104 + ], + "accounts": [ + { + "name": "whitelist_entry", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 119, + 104, + 105, + 116, + 101, + 108, + 105, + 115, + 116 + ] + }, + { + "kind": "account", + "path": "whitelist_candidate" + } + ] + } + }, + { + "name": "whitelist_candidate" + }, + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "authority", + "writable": true, + "signer": true, + "relations": [ + "pda" + ] + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [] + }, + { + "name": "update_authority", + "discriminator": [ + 32, + 46, + 64, + 28, + 149, + 75, + 243, + 88 + ], + "accounts": [ + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "signer", + "writable": true, + "signer": true + } + ], + "args": [ + { + "name": "new_authority_address", + "type": "pubkey" + } + ] + }, + { + "name": "update_tss", + "discriminator": [ + 227, + 136, + 3, + 242, + 177, + 168, + 10, + 160 + ], + "accounts": [ + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "signer", + "writable": true, + "signer": true + } + ], + "args": [ + { + "name": "tss_address", + "type": { + "array": [ + "u8", + 20 + ] + } + } + ] + }, + { + "name": "whitelist_spl_mint", + "discriminator": [ + 30, + 110, + 162, + 42, + 208, + 147, + 254, + 219 + ], + "accounts": [ + { + "name": "whitelist_entry", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 119, + 104, + 105, + 116, + 101, + 108, + 105, + 115, + 116 + ] + }, + { + "kind": "account", + "path": "whitelist_candidate" + } + ] + } + }, + { + "name": "whitelist_candidate" + }, + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "authority", + "writable": true, + "signer": true, + "relations": [ + "pda" + ] + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [] + }, + { + "name": "withdraw", + "discriminator": [ + 183, + 18, + 70, + 156, + 148, + 109, + 161, + 34 + ], + "accounts": [ + { + "name": "signer", + "writable": true, + "signer": true + }, + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "to", + "writable": true + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + }, + { + "name": "signature", + "type": { + "array": [ + "u8", + 64 + ] + } + }, + { + "name": "recovery_id", + "type": "u8" + }, + { + "name": "message_hash", + "type": { + "array": [ + "u8", + 32 + ] + } + }, + { + "name": "nonce", + "type": "u64" + } + ] + }, + { + "name": "withdraw_spl_token", + "discriminator": [ + 219, + 156, + 234, + 11, + 89, + 235, + 246, + 32 + ], + "accounts": [ + { + "name": "signer", + "writable": true, + "signer": true + }, + { + "name": "pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 101, + 116, + 97 + ] + } + ] + } + }, + { + "name": "pda_ata", + "writable": true + }, + { + "name": "mint_account" + }, + { + "name": "recipient" + }, + { + "name": "recipient_ata", + "docs": [ + "the validation will be done in the instruction processor." + ], + "writable": true + }, + { + "name": "rent_payer_pda", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 114, + 101, + 110, + 116, + 45, + 112, + 97, + 121, + 101, + 114 + ] + } + ] + } + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + }, + { + "name": "associated_token_program", + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [ + { + "name": "decimals", + "type": "u8" + }, + { + "name": "amount", + "type": "u64" + }, + { + "name": "signature", + "type": { + "array": [ + "u8", + 64 + ] + } + }, + { + "name": "recovery_id", + "type": "u8" + }, + { + "name": "message_hash", + "type": { + "array": [ + "u8", + 32 + ] + } + }, + { + "name": "nonce", + "type": "u64" + } + ] + } + ], + "accounts": [ + { + "name": "Pda", + "discriminator": [ + 169, + 245, + 0, + 205, + 225, + 36, + 43, + 94 + ] + }, + { + "name": "RentPayerPda", + "discriminator": [ + 48, + 247, + 192, + 150, + 46, + 218, + 14, + 121 + ] + }, + { + "name": "WhitelistEntry", + "discriminator": [ + 51, + 70, + 173, + 81, + 219, + 192, + 234, + 62 + ] + } + ], + "errors": [ + { + "code": 6000, + "name": "SignerIsNotAuthority", + "msg": "SignerIsNotAuthority" + }, + { + "code": 6001, + "name": "InsufficientPoints", + "msg": "InsufficientPoints" + }, + { + "code": 6002, + "name": "NonceMismatch", + "msg": "NonceMismatch" + }, + { + "code": 6003, + "name": "TSSAuthenticationFailed", + "msg": "TSSAuthenticationFailed" + }, + { + "code": 6004, + "name": "DepositToAddressMismatch", + "msg": "DepositToAddressMismatch" + }, + { + "code": 6005, + "name": "MessageHashMismatch", + "msg": "MessageHashMismatch" + }, + { + "code": 6006, + "name": "MemoLengthExceeded", + "msg": "MemoLengthExceeded" + }, + { + "code": 6007, + "name": "MemoLengthTooShort", + "msg": "MemoLengthTooShort" + }, + { + "code": 6008, + "name": "DepositPaused", + "msg": "DepositPaused" + }, + { + "code": 6009, + "name": "SPLAtaAndMintAddressMismatch", + "msg": "SPLAtaAndMintAddressMismatch" + } + ], + "types": [ + { + "name": "Pda", + "type": { + "kind": "struct", + "fields": [ + { + "name": "nonce", + "type": "u64" + }, + { + "name": "tss_address", + "type": { + "array": [ + "u8", + 20 + ] + } + }, + { + "name": "authority", + "type": "pubkey" + }, + { + "name": "chain_id", + "type": "u64" + }, + { + "name": "deposit_paused", + "type": "bool" + } + ] + } + }, + { + "name": "RentPayerPda", + "type": { + "kind": "struct", + "fields": [] + } + }, + { + "name": "WhitelistEntry", + "type": { + "kind": "struct", + "fields": [] + } + } + ] +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 65b4d79..8b30422 100644 --- a/yarn.lock +++ b/yarn.lock @@ -37,6 +37,47 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.25.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" + integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== + dependencies: + regenerator-runtime "^0.14.0" + +"@coral-xyz/anchor-errors@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor-errors/-/anchor-errors-0.30.1.tgz#bdfd3a353131345244546876eb4afc0e125bec30" + integrity sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ== + +"@coral-xyz/anchor@^0.30.0", "@coral-xyz/anchor@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.30.1.tgz#17f3e9134c28cd0ea83574c6bab4e410bcecec5d" + integrity sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ== + dependencies: + "@coral-xyz/anchor-errors" "^0.30.1" + "@coral-xyz/borsh" "^0.30.1" + "@noble/hashes" "^1.3.1" + "@solana/web3.js" "^1.68.0" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.2" + camelcase "^6.3.0" + cross-fetch "^3.1.5" + crypto-hash "^1.3.0" + eventemitter3 "^4.0.7" + pako "^2.0.3" + snake-case "^3.0.4" + superstruct "^0.15.4" + toml "^3.0.0" + +"@coral-xyz/borsh@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.30.1.tgz#869d8833abe65685c72e9199b8688477a4f6b0e3" + integrity sha512-aaxswpPrCFKl8vZTbxLssA2RvwX2zmKLlRCIktJOwW+VpVwYtXRtlWiIP+c2pPRKneiTiWCN2GEMSH9j1zTlWQ== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" @@ -891,6 +932,13 @@ dependencies: "@noble/hashes" "1.3.2" +"@noble/curves@^1.4.2": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" + integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== + dependencies: + "@noble/hashes" "1.5.0" + "@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" @@ -901,6 +949,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== +"@noble/hashes@1.5.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" + integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== + "@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" @@ -1170,6 +1223,146 @@ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== +"@solana/buffer-layout-utils@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout-utils/-/buffer-layout-utils-0.2.0.tgz#b45a6cab3293a2eb7597cceb474f229889d875ca" + integrity sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g== + dependencies: + "@solana/buffer-layout" "^4.0.0" + "@solana/web3.js" "^1.32.0" + bigint-buffer "^1.1.5" + bignumber.js "^9.0.1" + +"@solana/buffer-layout@^4.0.0", "@solana/buffer-layout@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== + dependencies: + buffer "~6.0.3" + +"@solana/codecs-core@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs-core/-/codecs-core-2.0.0-rc.1.tgz#1a2d76b9c7b9e7b7aeb3bd78be81c2ba21e3ce22" + integrity sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ== + dependencies: + "@solana/errors" "2.0.0-rc.1" + +"@solana/codecs-data-structures@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-rc.1.tgz#d47b2363d99fb3d643f5677c97d64a812982b888" + integrity sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/codecs-numbers" "2.0.0-rc.1" + "@solana/errors" "2.0.0-rc.1" + +"@solana/codecs-numbers@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs-numbers/-/codecs-numbers-2.0.0-rc.1.tgz#f34978ddf7ea4016af3aaed5f7577c1d9869a614" + integrity sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/errors" "2.0.0-rc.1" + +"@solana/codecs-strings@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs-strings/-/codecs-strings-2.0.0-rc.1.tgz#e1d9167075b8c5b0b60849f8add69c0f24307018" + integrity sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/codecs-numbers" "2.0.0-rc.1" + "@solana/errors" "2.0.0-rc.1" + +"@solana/codecs@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs/-/codecs-2.0.0-rc.1.tgz#146dc5db58bd3c28e04b4c805e6096c2d2a0a875" + integrity sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/codecs-data-structures" "2.0.0-rc.1" + "@solana/codecs-numbers" "2.0.0-rc.1" + "@solana/codecs-strings" "2.0.0-rc.1" + "@solana/options" "2.0.0-rc.1" + +"@solana/errors@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/errors/-/errors-2.0.0-rc.1.tgz#3882120886eab98a37a595b85f81558861b29d62" + integrity sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ== + dependencies: + chalk "^5.3.0" + commander "^12.1.0" + +"@solana/options@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/options/-/options-2.0.0-rc.1.tgz#06924ba316dc85791fc46726a51403144a85fc4d" + integrity sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/codecs-data-structures" "2.0.0-rc.1" + "@solana/codecs-numbers" "2.0.0-rc.1" + "@solana/codecs-strings" "2.0.0-rc.1" + "@solana/errors" "2.0.0-rc.1" + +"@solana/spl-memo@^0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@solana/spl-memo/-/spl-memo-0.2.5.tgz#a7828cdd1e810ff77c7c015ac97dfa166d0651fe" + integrity sha512-0Zx5t3gAdcHlRTt2O3RgGlni1x7vV7Xq7j4z9q8kKOMgU03PyoTbFQ/BSYCcICHzkaqD7ZxAiaJ6dlXolg01oA== + dependencies: + buffer "^6.0.3" + +"@solana/spl-token-group@^0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@solana/spl-token-group/-/spl-token-group-0.0.7.tgz#83c00f0cd0bda33115468cd28b89d94f8ec1fee4" + integrity sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug== + dependencies: + "@solana/codecs" "2.0.0-rc.1" + +"@solana/spl-token-metadata@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@solana/spl-token-metadata/-/spl-token-metadata-0.1.6.tgz#d240947aed6e7318d637238022a7b0981b32ae80" + integrity sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA== + dependencies: + "@solana/codecs" "2.0.0-rc.1" + +"@solana/spl-token@^0.4.6": + version "0.4.9" + resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.4.9.tgz#24d032d2935f237925c3b058ba6bb1e1ece5428c" + integrity sha512-g3wbj4F4gq82YQlwqhPB0gHFXfgsC6UmyGMxtSLf/BozT/oKd59465DbnlUK8L8EcimKMavxsVAMoLcEdeCicg== + dependencies: + "@solana/buffer-layout" "^4.0.0" + "@solana/buffer-layout-utils" "^0.2.0" + "@solana/spl-token-group" "^0.0.7" + "@solana/spl-token-metadata" "^0.1.6" + buffer "^6.0.3" + +"@solana/web3.js@^1.32.0", "@solana/web3.js@^1.68.0", "@solana/web3.js@^1.95.4": + version "1.95.4" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.95.4.tgz#771603f60d75cf7556ad867e1fd2efae32f9ad09" + integrity sha512-sdewnNEA42ZSMxqkzdwEWi6fDgzwtJHaQa5ndUGEJYtoOnM6X5cvPmjoTUp7/k7bRrVAxfBgDnvQQHD6yhlLYw== + dependencies: + "@babel/runtime" "^7.25.0" + "@noble/curves" "^1.4.2" + "@noble/hashes" "^1.4.0" + "@solana/buffer-layout" "^4.0.1" + agentkeepalive "^4.5.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.1" + node-fetch "^2.7.0" + rpc-websockets "^9.0.2" + superstruct "^2.0.2" + +"@swc/helpers@^0.5.11": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" + integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== + dependencies: + tslib "^2.8.0" + "@tsconfig/node10@^1.0.7": version "1.0.11" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" @@ -1190,6 +1383,13 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== +"@types/bn.js@*": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.6.tgz#9ba818eec0c85e4d3c679518428afdf611d03203" + integrity sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w== + dependencies: + "@types/node" "*" + "@types/bn.js@^4.11.3": version "4.11.6" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" @@ -1204,6 +1404,20 @@ dependencies: "@types/node" "*" +"@types/connect@^3.4.33": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/elliptic@^6.4.18": + version "6.4.18" + resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.18.tgz#bc96e26e1ccccbabe8b6f0e409c85898635482e1" + integrity sha512-UseG6H5vjRiNpQvrhy4VF/JXdA3V/Fp5amvveaL+fs28BZ6xIKJBPnUPRlEaZpysD9MbpfaLi8lbl7PGUAkpWw== + dependencies: + "@types/bn.js" "*" + "@types/lru-cache@^5.1.0": version "5.1.1" resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" @@ -1233,6 +1447,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== +"@types/node@^12.12.54": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + "@types/node@^22.5.2": version "22.5.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.4.tgz#83f7d1f65bc2ed223bdbf57c7884f1d5a4fa84e8" @@ -1259,6 +1478,11 @@ dependencies: "@types/node" "*" +"@types/uuid@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== + "@types/wait-on@^5.3.4": version "5.3.4" resolved "https://registry.yarnpkg.com/@types/wait-on/-/wait-on-5.3.4.tgz#5ee270b3e073fb01073f9f044922c6893de8c4d2" @@ -1271,6 +1495,20 @@ resolved "https://registry.yarnpkg.com/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz#18b97a972f94f60a679fd5c796d96421b9abb9fd" integrity sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== +"@types/ws@^7.4.4": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + +"@types/ws@^8.2.2": + version "8.5.13" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.13.tgz#6414c280875e2691d0d1e080b05addbf5cb91e20" + integrity sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA== + dependencies: + "@types/node" "*" + "@typescript-eslint/eslint-plugin@^8.0.1": version "8.0.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.0.1.tgz#5dbd1b498fdea83a16d292322d27d293ce156f94" @@ -1382,6 +1620,18 @@ dependencies: dotenv "^16.1.4" +"@zetachain/protocol-contracts-solana@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@zetachain/protocol-contracts-solana/-/protocol-contracts-solana-2.0.0-rc1.tgz#6dec49165a5a711c4aa5cec41ac3eed259b0e276" + integrity sha512-49mjRwXcIZfNXPcG9e8XUY2ve6kxJLqbB7CIlTT+IZFW5RzXnoUclynycQeOLEJrpaVVSFz8q0s1alnv/zVvMQ== + dependencies: + "@coral-xyz/anchor" "^0.30.0" + "@solana/spl-memo" "^0.2.5" + "@solana/spl-token" "^0.4.6" + elliptic "^6.5.7" + ethereumjs-util "^7.1.5" + secp256k1 "^5.0.0" + "@zetachain/protocol-contracts@11.0.0-rc3": version "11.0.0-rc3" resolved "https://registry.yarnpkg.com/@zetachain/protocol-contracts/-/protocol-contracts-11.0.0-rc3.tgz#9b719391d0728fd1b4e046c5f496180a45ecf0d5" @@ -1392,6 +1642,14 @@ "@zetachain/networks" "^10.0.0" ethers "5.6.8" +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -1431,6 +1689,13 @@ agent-base@6: dependencies: debug "4" +agentkeepalive@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -1554,16 +1819,40 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + bech32@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== +bigint-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" + integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== + dependencies: + bindings "^1.3.0" + +bignumber.js@^9.0.1: + version "9.1.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== + binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== +bindings@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + blakejs@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" @@ -1574,11 +1863,20 @@ bn.js@^4.11.0, bn.js@^4.11.8, bn.js@^4.11.9: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== +borsh@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + boxen@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" @@ -1637,7 +1935,7 @@ browserify-aes@^1.2.0: inherits "^2.0.1" safe-buffer "^5.0.1" -bs58@^4.0.0: +bs58@^4.0.0, bs58@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== @@ -1658,11 +1956,31 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer-layout@^1.2.0, buffer-layout@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5" + integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA== + buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== +buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bufferutil@^4.0.1: + version "4.0.8" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" + integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== + dependencies: + node-gyp-build "^4.3.0" + bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" @@ -1705,6 +2023,11 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -1819,6 +2142,16 @@ command-exists@^1.2.8: resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== +commander@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== + +commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@^8.1.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" @@ -1877,6 +2210,13 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== +cross-fetch@^3.1.5: + version "3.1.8" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + dependencies: + node-fetch "^2.6.12" + cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -1886,6 +2226,11 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" +crypto-hash@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247" + integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg== + date-fns@^2.30.0: version "2.30.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" @@ -1950,6 +2295,11 @@ del@^7.1.0: rimraf "^3.0.2" slash "^4.0.0" +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1977,6 +2327,14 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + dotenv@^16.1.4: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" @@ -1995,6 +2353,19 @@ elliptic@6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +elliptic@6.5.7: + version "6.5.7" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b" + integrity sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + elliptic@^6.5.2, elliptic@^6.5.4: version "6.5.6" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.6.tgz#ee5f7c3a00b98a2144ac84d67d01f04d438fa53e" @@ -2008,6 +2379,19 @@ elliptic@^6.5.2, elliptic@^6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +elliptic@^6.5.7: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -2033,6 +2417,18 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + escalade@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" @@ -2196,6 +2592,17 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: ethjs-util "0.1.6" rlp "^2.2.3" +ethereumjs-util@^7.1.5: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + ethers@5.6.8: version "5.6.8" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.6.8.tgz#d36b816b4896341a80a8bbd2a44e8cb6e9b98dd4" @@ -2253,6 +2660,16 @@ ethjs-util@0.1.6, ethjs-util@^0.1.6: is-hex-prefixed "1.0.0" strip-hex-prefix "1.0.0" +eventemitter3@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -2270,6 +2687,11 @@ external-editor@^3.1.0: iconv-lite "^0.4.24" tmp "^0.0.33" +eyes@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -2296,6 +2718,11 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== +fast-stable-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" + integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== + fastq@^1.6.0: version "1.17.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" @@ -2310,6 +2737,11 @@ file-entry-cache@^8.0.0: dependencies: flat-cache "^4.0.0" +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + fill-range@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" @@ -2618,6 +3050,13 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -2625,6 +3064,11 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" @@ -2759,6 +3203,29 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +jayson@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.2.tgz#443c26a8658703e0b2e881117b09395d88b6982e" + integrity sha512-5nzMWDHy6f+koZOuYsArh2AXs73NfWYVlFyJJuCedr93GpY+Ku8qq10ropSXVfHK+H0T6paA88ww+/dV+1fBNA== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + uuid "^8.3.2" + ws "^7.5.10" + joi@^17.11.0: version "17.13.3" resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec" @@ -2807,6 +3274,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -2814,6 +3286,11 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + keccak@^3.0.0, keccak@^3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" @@ -2881,6 +3358,13 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -3053,7 +3537,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.3: +ms@^2.0.0, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -3068,16 +3552,41 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + node-addon-api@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-fetch@^2.6.12, node-fetch@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-gyp-build@^4.2.0: version "4.8.1" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== +node-gyp-build@^4.3.0: + version "4.8.3" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.3.tgz#9187216d24dbee29e44eb20d2ebf62a296bbea1a" + integrity sha512-EMS95CMJzdoSKoIiXo8pxKoL8DYxwIZXYlLmgPb8KUv794abpnLK6ynsCAWNliOjREKruYKdzbh76HHYUHX7nw== + normalize-package-data@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" @@ -3169,6 +3678,11 @@ p-try@^1.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== +pako@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -3364,13 +3878,29 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rlp@^2.2.3: +rlp@^2.2.3, rlp@^2.2.4: version "2.2.7" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== dependencies: bn.js "^5.2.0" +rpc-websockets@^9.0.2: + version "9.0.4" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-9.0.4.tgz#9d8ee82533b5d1e13d9ded729e3e38d0d8fa083f" + integrity sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ== + dependencies: + "@swc/helpers" "^0.5.11" + "@types/uuid" "^8.3.4" + "@types/ws" "^8.2.2" + buffer "^6.0.3" + eventemitter3 "^5.0.1" + uuid "^8.3.2" + ws "^8.5.0" + optionalDependencies: + bufferutil "^4.0.1" + utf-8-validate "^5.0.2" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -3409,6 +3939,15 @@ secp256k1@^4.0.1: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" +secp256k1@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-5.0.1.tgz#dc2c86187d48ff2da756f0f7e96417ee03c414b1" + integrity sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA== + dependencies: + elliptic "^6.5.7" + node-addon-api "^5.0.0" + node-gyp-build "^4.2.0" + semver@^5.5.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" @@ -3481,6 +4020,14 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + solc@0.8.26: version "0.8.26" resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.26.tgz#afc78078953f6ab3e727c338a2fefcd80dd5b01a" @@ -3592,6 +4139,16 @@ strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +superstruct@^0.15.4: + version "0.15.5" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab" + integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== + +superstruct@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-2.0.2.tgz#3f6d32fbdc11c357deff127d591a39b996300c54" + integrity sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A== + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -3613,11 +4170,21 @@ supports-color@^8.1.1: dependencies: has-flag "^4.0.0" +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + tmp@0.0.33, tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -3637,6 +4204,16 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +toml@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" + integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + tree-kill@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" @@ -3681,6 +4258,11 @@ tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.0.3, tslib@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tslib@^2.1.0: version "2.6.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" @@ -3767,6 +4349,13 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -3801,6 +4390,19 @@ wait-on@^7.2.0: minimist "^1.2.8" rxjs "^7.8.1" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -3858,11 +4460,16 @@ ws@8.17.1: resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== -ws@^7.4.6: +ws@^7.4.6, ws@^7.5.10: version "7.5.10" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== +ws@^8.5.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" From 83490353c2dd840a5ebce3520cc6aa54a6c1848a Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 18 Nov 2024 16:53:22 +0300 Subject: [PATCH 02/16] wip --- .gitignore | 2 + package.json | 1 + packages/localnet/src/setupSolana.ts | 105 +++++++----------- .../protocol_contracts_solana-keypair.json | 2 +- .../deploy/protocol_contracts_solana.so | Bin 356384 -> 356384 bytes packages/localnet/src/solana/idl/gateway.json | 2 +- yarn.lock | 12 ++ 7 files changed, 60 insertions(+), 64 deletions(-) diff --git a/.gitignore b/.gitignore index 41c9427..94363b6 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,5 @@ tsconfig.tsbuildinfo .wallet.json localnet.pid + +test-ledger \ No newline at end of file diff --git a/package.json b/package.json index 0a77e59..bc3dbee 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "@zetachain/protocol-contracts": "11.0.0-rc3", "@zetachain/protocol-contracts-solana": "^2.0.0-rc1", "ansis": "^3.3.2", + "bs58": "^6.0.0", "concurrently": "^8.2.2", "elliptic": "6.5.7", "ethers": "^6.13.2", diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts index c316849..d72d1a6 100644 --- a/packages/localnet/src/setupSolana.ts +++ b/packages/localnet/src/setupSolana.ts @@ -2,39 +2,45 @@ import { exec } from "child_process"; import util from "util"; import * as anchor from "@coral-xyz/anchor"; import Gateway_IDL from "./solana/idl/gateway.json"; -import { keccak256 } from "ethereumjs-util"; -import { Keypair } from "@solana/web3.js"; +import { PublicKey, Keypair } from "@solana/web3.js"; +import * as fs from "fs"; const execAsync = util.promisify(exec); -const chain_id = 111111; -const chain_id_bn = new anchor.BN(chain_id); +const keypairFilePath = + "./packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json"; const providerUrl = "http://localhost:8899"; export const setupSolana = async () => { - const keypair = await getKeypairFromFile("~/.config/solana/id.json"); - const gatewaySO = "./packages/localnet/src/solana/deploy/protocol_contracts_solana.so"; console.log(`Deploying Solana program: ${gatewaySO}`); try { - // const { stdout } = await execAsync( - // `solana program deploy ${gatewaySO} --output json` - // ); - // const output = JSON.parse(stdout); - // const programId = output.programId; + // Load wallet keypair from file + if (!fs.existsSync(keypairFilePath)) { + throw new Error(`Keypair file not found: ${keypairFilePath}`); + } + const keypairData = JSON.parse(fs.readFileSync(keypairFilePath, "utf-8")); + const walletKeypair = Keypair.fromSecretKey(Uint8Array.from(keypairData)); - // if (!programId) { - // throw new Error("Program ID not found in output."); - // } + // Deploy the program using the program keypair + const deployCommand = `solana program deploy --program-id ${keypairFilePath} --keypair ${keypairFilePath} ${gatewaySO} --url localhost`; + console.log(`Running command: ${deployCommand}`); + const { stdout } = await execAsync(deployCommand); + console.log(stdout); - // console.log(`Program ID: ${programId}`); + // Parse the program ID from deployment output + const programIdMatch = stdout.match(/Program Id: (\w+)/); + if (!programIdMatch) { + throw new Error("Program ID not found in deployment output."); + } + const programId = new PublicKey(programIdMatch[1]); + console.log(`Deployed Program ID: ${programId.toBase58()}`); - // Initialize the Solana provider and program with specified URL - const keypair = await getKeypairFromFile("~/.config/solana/id.json"); - const wallet = new anchor.Wallet(keypair); + // Initialize connection, wallet, and provider + const wallet = new anchor.Wallet(walletKeypair); const connection = new anchor.web3.Connection(providerUrl, "confirmed"); const provider = new anchor.AnchorProvider( connection, @@ -42,58 +48,33 @@ export const setupSolana = async () => { anchor.AnchorProvider.defaultOptions() ); anchor.setProvider(provider); - const programId = new anchor.web3.PublicKey(Gateway_IDL.address); + + // Dynamically update the program ID in the IDL + const updatedIDL = { + ...Gateway_IDL, + metadata: { + ...Gateway_IDL.metadata, + address: programId.toBase58(), + }, + }; + + // Initialize the gateway program using the updated IDL const gatewayProgram = new anchor.Program( - Gateway_IDL as anchor.Idl, + updatedIDL as anchor.Idl, provider ); - const solanaKeypair = Keypair.generate(); - const solanaPublicKey = solanaKeypair.publicKey.toBuffer(); - - console.log("Solana Public Key:", solanaKeypair.publicKey.toBase58()); - - const addressBuffer = keccak256(solanaPublicKey); - const tssAddress = addressBuffer.slice(-20); - console.log( - "Derived TSS Address:", - Buffer.from(tssAddress).toString("hex") + "Gateway Program initialized with updated programId:", + programId.toBase58() ); - try { - await gatewayProgram.methods.initialize(tssAddress, chain_id_bn).rpc(); - } catch (error: any) { - console.error("Transaction error:", error); - if (error.logs) { - console.error("Logs:", error.logs); - } - throw error; - } + + // Continue with further program initialization or testing as needed } catch (error: any) { console.error(`Deployment error: ${error.message}`); - throw error; - } -}; - -const getKeypairFromFile = async (filepath: any) => { - const path = await import("path"); - if (filepath.startsWith("~")) { - const home = process.env.HOME || null; - if (home) { - filepath = path.join(home, filepath.slice(1)); + if (error.logs) { + console.error("Logs:", error.logs); } - } - - try { - const { readFile } = await import("fs/promises"); - const fileContentsBuffer = await readFile(filepath); - const parsedFileContents = Uint8Array.from( - JSON.parse(fileContentsBuffer.toString()) - ); - return Keypair.fromSecretKey(parsedFileContents); - } catch (error: any) { - throw new Error( - `Error reading keypair from file at '${filepath}': ${error.message}` - ); + throw error; } }; diff --git a/packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json b/packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json index 8fc4c05..d749a80 100644 --- a/packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json +++ b/packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json @@ -1 +1 @@ -[160,110,223,218,198,143,233,108,121,51,51,19,193,224,80,171,1,126,91,78,51,205,113,53,254,248,235,35,36,61,73,182,94,51,1,241,110,127,5,253,138,129,241,141,212,98,114,191,255,72,8,40,89,247,193,191,152,87,209,157,80,77,213,117] \ No newline at end of file +[208,71,102,83,89,3,113,189,176,137,197,14,13,44,121,189,232,22,14,135,72,48,185,127,250,240,208,69,82,56,121,170,173,159,170,108,80,52,192,25,119,99,68,236,103,45,144,12,57,146,197,243,195,72,4,136,74,214,16,91,236,56,130,238] \ No newline at end of file diff --git a/packages/localnet/src/solana/deploy/protocol_contracts_solana.so b/packages/localnet/src/solana/deploy/protocol_contracts_solana.so index 186bac2cf6beac74188987173bb5eecfd508484b..78554a87bacce5a62bc5ea4462395876882c4c32 100755 GIT binary patch delta 1529 zcmZ4RKy<+a(G7b9c-GEemBRo80VW3|Cx4Jtnfyi|BLrEnTI$AskOB!t28Qxvmp34G zy6yy?YN-csamz_ZKZC>%d$4p=OTB=LdtDQV28qA1XnHqYK$Ase@*Y749%NG{8_0|B zAZwo-ATPs%tZ#FGkPb7tGfgJ%5sg4|Cc-($79cwZ*`8{t4_KW!`GTCzn00`n`~Yqzd;%^AbYIQ1CpAlGRB7FRQbUMJyklmm`sjwKu?v3_(P3vg!5738*%A6Er-%;@&m#pPd}j{=GNY^ZjqmU;mf{}Nhd3KBmPoqb}ufF_H`NUWAsuFPXPQjjBN~C`OoVfgEkJe-vOU#OAFw)e@&!4a$y3BMNOh%v zxD6A!D^(`fNTLVk0l2NGt~>!3M|I@|xHxj4Ojj^umYf_YWlgFxA4sua1ZEGd0y2a| z*G(1>H`%;KeuFe-K=xRp2P8F9WsD8Usq%vjda87AF_|3WfSxK5@rN4U2 Date: Thu, 21 Nov 2024 16:54:39 +0300 Subject: [PATCH 03/16] deploy gateway --- packages/localnet/src/setupSolana.ts | 69 ++++++++--------- .../src/solana/deploy/gateway-keypair.json | 1 + .../localnet/src/solana/deploy/gateway.so | Bin 0 -> 278648 bytes .../protocol_contracts_solana-keypair.json | 1 - .../deploy/protocol_contracts_solana.so | Bin 356384 -> 0 bytes packages/localnet/src/solana/idl/gateway.json | 70 +++++++++++++++--- packages/tasks/src/localnet.ts | 6 ++ 7 files changed, 96 insertions(+), 51 deletions(-) create mode 100644 packages/localnet/src/solana/deploy/gateway-keypair.json create mode 100755 packages/localnet/src/solana/deploy/gateway.so delete mode 100644 packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json delete mode 100755 packages/localnet/src/solana/deploy/protocol_contracts_solana.so diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts index d72d1a6..493d19c 100644 --- a/packages/localnet/src/setupSolana.ts +++ b/packages/localnet/src/setupSolana.ts @@ -4,72 +4,63 @@ import * as anchor from "@coral-xyz/anchor"; import Gateway_IDL from "./solana/idl/gateway.json"; import { PublicKey, Keypair } from "@solana/web3.js"; import * as fs from "fs"; +import { keccak256 } from "ethereumjs-util"; +import { ec as EC } from "elliptic"; const execAsync = util.promisify(exec); const keypairFilePath = - "./packages/localnet/src/solana/deploy/protocol_contracts_solana-keypair.json"; + "./packages/localnet/src/solana/deploy/gateway-keypair.json"; const providerUrl = "http://localhost:8899"; +const ec = new EC("secp256k1"); + +const tssKeyPair = ec.keyFromPrivate( + "5b81cdf52ba0766983acf8dd0072904733d92afe4dd3499e83e879b43ccb73e8" +); + +const chain_id = 111111; +const chain_id_bn = new anchor.BN(chain_id); + export const setupSolana = async () => { - const gatewaySO = - "./packages/localnet/src/solana/deploy/protocol_contracts_solana.so"; + const gatewaySO = "./packages/localnet/src/solana/deploy/gateway.so"; console.log(`Deploying Solana program: ${gatewaySO}`); try { - // Load wallet keypair from file if (!fs.existsSync(keypairFilePath)) { throw new Error(`Keypair file not found: ${keypairFilePath}`); } + + const publicKeyBuffer = Buffer.from( + tssKeyPair.getPublic(false, "hex").slice(2), + "hex" + ); + + const addressBuffer = keccak256(publicKeyBuffer); + const address = addressBuffer.slice(-20); + const tssAddress = Array.from(address); + const keypairData = JSON.parse(fs.readFileSync(keypairFilePath, "utf-8")); - const walletKeypair = Keypair.fromSecretKey(Uint8Array.from(keypairData)); + const keypair = Keypair.fromSecretKey(Uint8Array.from(keypairData)); + const wallet = new anchor.Wallet(keypair); - // Deploy the program using the program keypair - const deployCommand = `solana program deploy --program-id ${keypairFilePath} --keypair ${keypairFilePath} ${gatewaySO} --url localhost`; + const deployCommand = `solana program deploy --program-id ${keypairFilePath} ${gatewaySO} --url localhost`; console.log(`Running command: ${deployCommand}`); - const { stdout } = await execAsync(deployCommand); - console.log(stdout); - // Parse the program ID from deployment output - const programIdMatch = stdout.match(/Program Id: (\w+)/); - if (!programIdMatch) { - throw new Error("Program ID not found in deployment output."); - } - const programId = new PublicKey(programIdMatch[1]); - console.log(`Deployed Program ID: ${programId.toBase58()}`); - - // Initialize connection, wallet, and provider - const wallet = new anchor.Wallet(walletKeypair); + const { stdout } = await execAsync(deployCommand); const connection = new anchor.web3.Connection(providerUrl, "confirmed"); + const provider = new anchor.AnchorProvider( connection, wallet, anchor.AnchorProvider.defaultOptions() ); - anchor.setProvider(provider); - - // Dynamically update the program ID in the IDL - const updatedIDL = { - ...Gateway_IDL, - metadata: { - ...Gateway_IDL.metadata, - address: programId.toBase58(), - }, - }; - - // Initialize the gateway program using the updated IDL const gatewayProgram = new anchor.Program( - updatedIDL as anchor.Idl, + Gateway_IDL as anchor.Idl, provider ); - - console.log( - "Gateway Program initialized with updated programId:", - programId.toBase58() - ); - - // Continue with further program initialization or testing as needed + // await gatewayProgram.methods.initialize(tssAddress, chain_id_bn).rpc(); } catch (error: any) { console.error(`Deployment error: ${error.message}`); if (error.logs) { diff --git a/packages/localnet/src/solana/deploy/gateway-keypair.json b/packages/localnet/src/solana/deploy/gateway-keypair.json new file mode 100644 index 0000000..99c8b61 --- /dev/null +++ b/packages/localnet/src/solana/deploy/gateway-keypair.json @@ -0,0 +1 @@ +[148,138,110,3,169,253,42,101,79,110,149,110,112,214,41,163,75,28,36,29,241,151,41,200,135,185,252,180,158,191,166,156,119,192,217,18,69,149,119,145,212,43,144,149,176,111,89,140,102,63,193,127,241,148,51,161,170,62,19,196,239,253,6,192] \ No newline at end of file diff --git a/packages/localnet/src/solana/deploy/gateway.so b/packages/localnet/src/solana/deploy/gateway.so new file mode 100755 index 0000000000000000000000000000000000000000..185b938c3ca936bfc13c831b38af4b826e8bef8a GIT binary patch literal 278648 zcmeFa3w&KiaX)?}=f<`I#Ib!H=Mu+~9XpDsKsIS2^e2hzkVFv#E02qfs1w~NCb9yF zj;~3yI<&|E65;;ZDh?2#7OHzCOEUCV+?FWmYe-{P|q-=`r)GCT(+O=n%)Uz~L1T5|TG2Bn42W~<+OZ|FG$+3S! zy=1ze3-v6udexN8?KNw?WV#>K0!tStTv~=7t`0fbs)dqKDj#TTlP8~`2LAlK zAb30V?+5Kc;0ni2atT*FA!)Q0^&`cXBJT0U^{M*FXff`))sh{Q)*F${yst7sO56IkIDVz)Xftg$5>Hz5RD#{e4maEq2q|+J*4S@ zigK+~u2f_!#5dyi0fM>zkKG>x>0qnmm&PRt=2Me&`{Z(>@BQyAx6k9mELu)NRDY

;}2WkwX%am)-WjB$=KLjsrkJ0@_{ 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 z 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%0AKj_r)<$S6Eex$(v4#wZ5<4b2azTo+vdq0Qg zen5)ngD$@`++2h5RrGw&<(GyVju$j6(R#>ofJFE`p!&Un%0UlO(6fo@IjH(QP@&&{ zis={a!gJpSC_@+4bNbZp5n+KJDe$ji{Qc_peVoESXql4fU0T3%r!#=2N_@GV%U!t+ zs~^VW|6919W9o;)p&v${ua@IK(cI^V6GLxkkqg(SyrhgZg9q{w2fxPEvnt z2;&1L5AJiL^|atkMP4@zm~Ow0K5q=Lh(MQ}ryOk7{6n&?_#Vl6LnK#RVSc9M?c9_6 zmbXY;aP6PyclSNL1^K(A9rQE=yCHeeKicO%81exKdQXk>^d6*?lYS|*c%@m#!h9NV z`n_)KmvFyx5X_Qz<-YebNc{)1Bz^^YE{C1p;ldpNom&YxU7+)FN>hA_9nrjti@mW# zOb@}qZ@0(3_x)-DnM5J6(>bRK=T!DOdEnhd6Cb36hW5({pF!gW=Fivn1%k#d&5L}3 z#!k)maT+xCXuepq;<>OP!Ld9n}Zu!ns()$kntxr^sv#q%27M{}F*qxqVLeKb|uN96NfZQrK* zW3swG<|`id$5d-SJJSDOX#1;lf6J}9zvW9F_P11PKQ1CqS^p>`X6t^GMYh0Fh)+W#WmPjY(#`$?*`+ZN%wCu}GCKe`gw|52^o(Fnc8u$}DVcxwXtII6YV zAJO;iVLRD(u_A$e7uDKLitv{Y+sS^24|&)RQLSBbq(4~~DI^x@zJ?Ea*w;|4-L{B6 zWgQ>wWPieA9`+|xYqumKmm5PmWuL*IhkXXs+U<|=UTgZd`;v zS^r2S9`odR|A#z0@2}RbE5e@~te8stjVI6NKkVW8e6@D7Bm7;abnf%yIs4-tp0ihL z*B{~UVr}>Lyz?)Wc*4W;@M`V$N9=RDw)=>u&$&H3=dRXnQiQ)L+U}#CJg3zBEssLm%+)9J*S&`4RqP9Y2*A^5psQQy!i#S8KN<(%(3x^OK%DFaC^& z=f&09?T_%6&~~5p{Pr0yNn>EOc1I)p{Q|=WjW?h7 z-b!gT_^ycFo>%zKd3c^$4gO$+t{*7;(;l9SR)g=4$n80WKj`84W;OU@5qUk!@YUdE zN9g`~O}PFDy!Zk8fUbMtKl2x$j{aR0Ef%Y|Fm;I zaX;vON6pUvbk_l}j%(i)7{X#NUATXq_=@s+iJgb=V!kW+ccel)za9ABok3m*M;DYYofC ze%URb6qe7Az&CJtpznP`k2I|zJ<9u_$irgjoFIk^-~S|8;ljGnFAkOa!TL4ev3~Pg zryTPANn@Gc@OwA9?qKJ8o7@3^PZj;6{2=|0%dMz#%ht=fuh|pm`|&?S=|c{9K1KA{ zcL}iGO#g__W4w-WqVL;$wF*A0PYwRE+z;?ia_Aokzqg%V$rtcEmoAqFvuqtp*00L` zxlh)qU^H|E_wVO?aQ^|}XF$rq=RUF@tYhJVzGhR3el}B`|A^r6_iDS94Cal0ucY?e z!flWBI<)^+viH(EkfZ*$?~s1q#aTX=0{!^AgnnPbILW)8;jkVk_Ad3{tBv68eD+XJ zBx0(f?**Lcr70cC(I2|P@88`md4HGmKNX9QbUh)7hhsqwf`8H%uJC(2LIq6hFL?Jt#l zg_oxMkm5Bsf3M0{=_vlCv`?Lh*3g5@tA?(Z^6?5+uKy|1;qMfCxA#fSE@0ol1p9pT zr)ZqnC3s+OkSoTgS2=MCc6~8{AbxFd{2Bh;=j4HJPfG9t&-f*Rw`@N`u)j;}J2g({ z1?qQ0D+GT0bV-XHlFmrHk)IF^U7_{V2d?7Hy_}ZL<%InSd`)S_U&!fKEC=`vx@g&| z_PLd-`8%Y5wC4xomrFU$836ruu6|Mdr8q^@^zo?Z z!+jpZJi`XIOfd1(C)uzoIwgb*mD=aEs5Fd zIs6}R4KcV&95}OU7jJV6{vrq7g=>$&{kucwijy^s3$VO4IhNAzg(&D!5%Z6+x4gPhv;d7SlD5_@Q0?R%``O8k8&PPHGzr4Kyz z*kfo-NnJ}x_=TO|vhNztB)C?}ucUJNNpC^muh5Cq?ng~d{tA@R{D;t?oz3^b7brIP zV8Ky|y90ohagN8Y-I^z2kCOeu?*5L_@Eo?CI*#f0A%e{!hxqeW+?NPPjIVb}=C|Bm zHX#fG?_#<)LQ3fAybKwikjHsjR&M(ThNcT$<88i6$br9QuJi)_a3Rj%XExEq`I>sV zP8tkd$6($J8tB2v6QoC^cHYXPL@wyNgVNVid2RV?e9Q|zSMKO3lzZFANyI+amCl z_w~?#-N)PgeYN}f1_wXl@yn?6l+22PF|ASM6m;1nx0)Um!}B-;3>lY*(t)yx$z^H|JGB) zADkk*eE((S^sGNc{Hsn8K7Wev%T5t~@hQUJe2VaII7Rq*rwIRghPQLj%kv+M*5!2y z%&)M{fHF$%Y`Kgk_;lI4*4Fs~{jRHj4rZ^^zLgWt&RsYB72 z@3~g?k68iLH>5dr@izRrJf2~^`cL|AhU}*pP@f=89gWG1G7BhKYOp?q@jRF-aHc=-2Yy5T2`}>YodKh#+@G}fwLi>LB67X8djELN0)9_- z|D(mP-ADUr;n&Wm#(f4#{DhQe6PQKG`U1zgea7CKa@g^sg zkLd^TCbGVEvoH!dr_{DNuI>_=*jXjG2Z9N%sLp|_(=zy$a zBX7@BGU6{-h#7)Z^#o@ut4NxenQ{BVLFn0Y9q;`L*Ql-pP+k4^*CPr z&fXU(O_2AZ{DA}9zBEAu=Ie8x(gcxja9NrW26w5y>Gx5Bjo^ytQG3V@{5RvtPry?| zT4xxLv9&be63&NlQR(-0$$Ftbc$nMaoNyR~zgPHaxd%D;wFSG?A-A2YVXCf8EyDo_Y|GSiVlV@lyW>bz)S%821ChiW#vZd*7;<5kl?#sA8s>5e4>rsUuhkXSI0oJYs z3)-4TTG4JHO2wAbl!on+Cuv9aj|+Z~rZjBVdE$1#S>n&Z()}W*cLNLU1DP&q(eyY= z^{8>f;!-gqaAqep{Z{wQV4O=+6F1&^6mR4474?9Fy)2^#W}%-vK!tRT&q*5SydfMv zZGJ=TsVgr?i@yeGfw$*(P#-*kVGzgzsu-y!x>TaL0pCfvs{LGYq~NU%lsgBU%F zwLF{9b{T<(z90hBV?Epazhwdy&{gUG{ao%o$B5`pjwPw0cWtMBXy0G3?<3i~H!H(O zIPdj$9%OxEpB5+zmP+2fTMzl-3T8=paDP9;`#aUIqjoyO}$NNz4!(!JR(tai}+e$wz zZdZ(B1Hxx{-Xi>$=PkltIB&Tt&4`0{iQ@$ui4eMc+h3#W%7OYze14Mje*8ax$9%EY zdU9{wd;?y`=Zm%#yhMJ?2ExY>%g4||G`+hPmZwNkyyKrkFedbSi8qZ z*skF>I;kZ&LvDXF!gkHEc8`p(U3;wE!y|0BB-XBfgzYxO+C4DBcH3g@?jK>h9kF)U z>M|00+#hR)?{SQz-Jw{!O(Sf#FlI07M%b<^)^4TK&gSpFjtl-d5}*8Y35YKLY>fjt z54HJR&?fVhVAej4NARop&huV7U%>r-U?1kCI~gtSM;t`HD0#^3_WzRoaQoh)lWMB6 z`}JT;uf%ui2baCKkAB-7{({DZAsj&MdxrL2zZ-XZsegOF-=%9I=*n?7tk0LEC|>J$ zVB=A^FG}O0jfdc4_#df#r?j{G=b>vQKSa;8ak+F*cSOe#p_|12QmQZN{Yubwn9GA% zGARWjr%r_Tsxtgjm!2O+Pn*VJxqE_ zd26^H{o@MvncOe@+PXq;yNsiSu@hJy{%+x~F!s%?7swM=YU~e%KAk_#pxbM7K+nUu zpYat?vS+;1OH;l=fAg16DV1L=PWwdAooDuJ_hm(mGuH32qWbFqpovau#q&42R^1L%O_MQaRvyIQP|9*(=(6uMT?WFg|tdEhzug`;yU8F>!G)nAVLJJI|(zE5PSvo7oZK|9mwuAgJvs>NrvuKhR! zY443x`t``;)^jwkI9c4vcT#6`oy^Y6&dYIk6Wc*N9>n98#e=xr`qxUpM^qlE{eITv zNByQ&|0Xxwr(q@s{t!ou9$I$=+q`ZCdB^dTwsJMML%p?2o$()uH05pGJd8UsT@2&h zvZB8CFhIa`)rvc|Zxr$E1H|7@x4@U<+>bcU8$V@#9Jw9raOHM_xC1`JxI=P7K5iE; zTy9S#(u8j`j_tK>fDbk5)E zUHOIm$owrH--E48e#N*@F;40Gy>oQkJ?Xt4VXrL|FFrm@N~8(TXvBwa(svVUjYoF>VSK%iap?>AE~DN*o@hRd8^-@Vd+(y&VefL^ zGJ~EEAYP4RzWrhF7uw;w7|-dn_dTxs!hXcw%la7keaT+|-wEai7|%=(HZMqe2br&O ze?-v8k=xVH=|OQguAQWR8$V%Bvrnr%rAE!3zE1qrvM1~V zNe~}#JE(O(ojv0`rqkqZ?+>Qx{#@*7x2*sBSIZ4{aMgS%zgh-_;Hq}bkK;7B3R0y0 zuja%Hu9CRz@0NAza=Fy|S6e$t{SdF>*9Y0bmbyBeM~ zC&V*u#PsBWr-F_JRohovUw^YpM>wB+`w82-^N&SnAGUil?}v!F4vaTNT;n*?1m%mHeVLu}HvUO(yDeM^C!`|t0N{sG=f|NT8O4q;#AVUnA@&+0x021WLrfI!C)$QcsDxQH~kUGC2U zeShEIDRP}Mvz=;*p3R)_yprh?@p?mVl5%^`AxXQ@P~zvM+<$j7|M2HZeo9jv|FChv z==J9cLO(C*vL@Mw?d$t5zTV(1YZClukISDcdiPgIx@@|vZ{xWk>}o98Eaa4}m-Xu6 z@(j1j)}=W0AL4}e6^q`mUx}JA50u<#&&`wkbq(sTU+KI{;LG*0KiuY(;d@B4_A@T? zt8)1umxIoz9`UOdauU`_1%RL0|W=*|~$}FaChy)BS(pemRY!@F#3-NiubWSNkvb zD|VRV-4Eq@+wWh76FJ#?)4p zcPVaGKi2P3g#N95Z*eQo{lP(FALC0UUd8<(UVrMTr=CKFl6wCUsc*@NUqC*GNLA&y z*U#;JF>h~ZC8Oc@IpBvDw}VFEGX;a9%iYJb`D3)72o&o13|z?ORQqF;?;r23>1&^4_=k zk?9lixq;+3BxKO}fvpUW`!xKr^)uUlYUi<`9ky=zMd8c0{hKA_$DXV05xE9S#jgE5 zVi&d#Jy?1`?DGDDlIrXR0V%iru4wNw{C-7MZGma2QDoVViOqsQ*l?j~)QlKnpf z4-mk^0^NS_93|;pukh!}elmgwD}cwV8!kLXvZN;tk*d2`_HPkikhlwn{*vD7=&#@b zU8%ZPaU^!((2srR3i1Ixsk%#ee~$|%`ztP|TEPQ4QgyBT-C-9Fc9ZmEe00miXKzSYo`R7h8nzh)PuA3H0O{MGJgIc@W&@+LHk@C&&ny)=p=M z$VqO6L`M8DafSF{;!5^IybmSz@k*fQeM7Jd#0^df8Ttd?4-ns3?+pM8$5q6Cz@Z-B zH?p`=NK6(#PFyU0oDe@oe_~%32p-}`^7A=gp!a=YPpL$+_;cbS_Gh$n?F@2|dQ@mqL{*c0SrevEqYQyDmrmw1d)ffv6NKSn*|5bl$uy!auY z1Rnlpehj-?xBiZG`33?+J>|3OR#Tp{Ua(o{wD-4zGhjV}2R-IBKE8)b$DaqRetjfE2Uz*Ss0mD4PpXIr9Qsf54v%`F#{X?0pB@SMT1R7~FEesa;t;+FwWIYkPzMyMM8I=!w{2UpjvLr&j}h zkmwjvdY>TVs4viXfNQ9ilW<-Dd#LqZ+5DLP&vNvScAk5V8qtxVBCNl3#@f|8?d<&+ zJFndAeB^qa$qe}2!pBJTy7ZLvI!*99dffrN7R7Ge`=c9OeHDcs#3@|RLo@27S>%5H zWmNuzgd?^$z^~n^`q6T`|F5RsHOdd`mA!!ac>q`lFZ~CmITp`QNSFE3sp$I|q6K`Q zpHtB{zDH;6?EDJbPZmEnWats059^qH)Q{P<$q|0qP9VVd6pfXONuDrvI%B$XGPTRk!|cN7B5mX`#^n?X90kFIgbYhm!evP3cDXbJE+*^`vzxp zW8Dt;-1ncrm&?aC;=}s4^{+7QD1G60r1(nI2AAp4;NAG&5<|p>zmGx zkn}-v0=j}$N&N?@0p}(4b-grb6$kVmqlfI!ACUDS#Fc%2J4Pz$FXWt}{S9VcL#Eg31;oyc zu=BiKy}p$|T)iH7qPkuIhkoWn^qL+<5B5HxpOf$8*n5V4&d$;86nW)icCc0Tpywv| zTUAebZi2s6_1K_xuob;ge*z}sJ?x+%&E<9;Q_!Gxpm9HFP&+6ZezgN#7c}_<4Pp=M zcZ^r;!q@m5G{Cwk4n1IWy;1Xq_g2jtUvJ^Ot#_{OT_JgrA>vYSyV}|9Q9BFI1GF+#Jvaef}f`e$)@&C489w`R^9EK;QTC z_bd^A(DhJ%kLWdACtdJ>)VIlbkio10$v5tmRL?E8d2P7v*`fX0^CsPY;fuJv((QfH zKD>X?`_mI4kp4^Wi|1{kLASE{~ zKhNFB=(zmrPQBTi`J>H`F|Pmxus>L^tKYRX{1R~J_j3+@|1|qm82`4by>1tKwRQDC z_3N8|HHzMC-W4>8J%s+*D0WiXE_ywg-fVoX7WX!j-a>s{C-RPuW1)OWt}rQAu5)Y1 z6>yO2!>(M_Pwbo*A1~w66b|4 zjKn4(Z|nxg1{sirSLq==go5@bSvFAh}>15 z`}}hE+HLKGCl`_bE1f6uAwBlXjXn3@DW^+)a?<%fH`lhqz85k#-|7n+kC0y^_RM>K zn|9d4ID$7vF#6J7O;vy|E$gb zfrXD+Sl%0`{!hQX2cqY%{YT`yPw!XsANi3jFZQDUh@AiD7l|JBANjG(7r(0ih`irA zzo^gF_fwm{+rmGyaI1w+TUh3!{v-cv;YOP;?-|Q4+Gt^U-*$e{Dhta!h5Vv=3(NcO z^NVUM{0kH37cCU{=r1LH`Xz~<`ge)(5FPug|6OulqW?*GPi6lTzn1hPFH8Jx`yRVT ztBCGot7U&WTRTVK)v|w@wflP6h@69D)3OhiwSG!=9~Peoxg)|?wptbzxg)}Nwi=VU z$(MFztGSC!d}(*KTJ{xlM?@~!>ghIL=~HFs-CZ?|bzwp#XK zb4U6t%-v(=@3k;@mkEzpSoT5n95Y*u%>|Qxz~*BDH1I(S+i`K^kcDM~C3obgh2h{B z{AVo;qha7<7LHr^xP|F;k)IbVOe;zFgoR-^4SdqV1}yjka|IrMu6Zfelsu2DHFh@{ z6~8bU?UnUpt(4>Z^=jY!C;Ah#^a^+d5b~Et(gyf z>pLBfI=|_7)%A#fUAqH*imqEo=j6j88=)`#?Z@A5@OK!w&`n~`==|cxI|#glb2G_6 z9&-#{GJ2OiZ%v!?9DVMY^>+WA^bzqXkFAIk&SL~o{$hLn+G5XN+st{5zx8kCE}N-@Ekd8}(S_MSrahCMRLf5jCB9c2%gquR%TfT@gRt(|;T6 z-{l5x75)bM<(nZqp3Eg2Isfz1n;FvY8iTij~YWZv=PjfL<;&N83)@qQet_XF^?O0~J$iZjJv`DUW}CPL zkf+!JT|fEvzkiPRUuZjWb5SuuzBc5CR-0t6y&a(MB5ByhyiY)ng7*o?G4B&ll9|YI zV<)(u&5(@9Mgq^lQ51a1!btbK6V3sHm%)13C}dJtWOBL24vc6zG`_X%!4}P=1^xTH|Wd>$1NqrX?m{KRh23uN zE|zsWd;0R$jx#;e?shRf)6+4i_MGWWJ(;~s@5{6yoxh}BjxW|rIk3Ke1b_bfqD*H# z@tD6M#25M1eXG3PU(dH95rKSDA9cRqx$r5UKS+8|X-{5y?oqhcX2^K=$%y|m@aM^w z%7&1ymRQp@roXoOzGwcHxplRTtMq#tO#e~l;}0_Zp^K;A9WJl)@#t=1$ay36I8zog z{glM}-5B~?MbGs8D|)Y+`D9J!%VD(91x)^3%**)c~fPWSQO0FdQ){t7Z< zxyPh^UO(7#HN__%pP(M6g^ub6*Ig{h{Es4EzY~$8kwVb#&F7X1{oGP&mE*8}%2(T| z_dQe}{NHoT`uwK<%J+*mW8msICcoduKkXO7(=pJMpJK7{=gEo20l~k&|3^N3Ewl?2 zAo$z0!`H6g`A2$B@m?b*`coVazw?iN=O6vfKcbzQX~qTpk81q;-|8RH&eCM6ef7>W z>BJ%E`(^1zg#DB+|Jj-Slv+$^q|f;*J0kWr-zW2q`X`(XLAp@?0@ezVG;88n~sFY76`9?#ESc$)b1!;byC_g1oa+qMV`A_}l9bn$key&U{Z-;I|9wbc3^vSti|nqUt~PrP z&+*pdW`}_4w6$fjy1rq0Z(nAB>FL4FUcE;&?tXj4i{sks9}mU!fqJkvB*()cJ-FDX z2e~7sO+Cq|d|y_d`}O;w8zF~;^AUr`_I??>Yr7eL!3XPi>{*@`Q@>M{iBz0%pN{QG zegw*5LozaIeldOK#|r7Biz+eJK4$U@`*p6d^W1k!A}1NS-SiX7|NB>iPL!U-q?b z^YU-@jU(L;Ww~^yoXCBvSME@VPs!ix<-d2reAy2r{mVo2rJWnR^0Ou^zsAddJXBuV z#ZyYrvtRk=8z`UXeS?=jDO6tcaD|sYCm@%lUV1#l7p5=t&tflsAe1kBUE$@wHk2>* za@G>Q?+NiG`Zd?fe;|}EcB9J6|5S*+^b2Qq;6Q={+ zWy;+k<@7%Od@N8nkJC?Ltp4BA;FEG1MtnWeo6J`T3iauEqdupcYXcI3z86UOR6Kp} zjQ{-J_?=HmIr@>t|H%qWdC)TC4xb!jir$}Tii%$4?;*FS&#uR`UnpN`p~)VZQ!V$U znj*+RAl+6QvwiyBH>UUa(pCO^?uhiXJ^DTt!VKpu_XSq&Vm6%LX1UWc{7=Ze7IZ1+ zu-vI%n(nRhZNDa?w5H%^we+_>Z>sMNYKqdD6!en&9+Y&ll&4$JXS=SYU(a;bbK-+o zSJ?EV@hUh5WxrXU%hmqXa}w=;eGgA=wIT2A=jwY_`qJKt1-pp*`>Mo-4NW!sA5S<9|M=>{kW5bS}>a`R!P-_kM9a&hpWv ze13^EufJuQ^4=$)&-*d|-@Y{7KI`)?{{8VbOlUg()s9bu*9#T$@a#C$ah@Bn`W3z0 z$XoA`KW9Y}{;p!K-k>>^8ztuZw!pIa&KC9C`z~!%?r-J>M8A@%ua++DKf8#}nXc4a-%Q196Co>SjV3}FCHEz{`>2w&OGP1#y@{U z-b>M*S?JFipPqA_-spoVmoNGCKBRv-zB?cu7xad0OnHm|PE8m6QTenjl6lR*=;PFM zmMYkZiRe%R^gW$=POtSgqdwZ<8xW5m&d!#5#hOok=od2ol*yO+hf8IDuo7vNG4@fypg`5j`D2z~9EpgV`ZJn3%_Pfz~k3snz z-yY#d`Mm*r9S6zmy;hEZA!_g`2B|n5IWN_G$_4JB@dM69erMu~Ba(8&{|@;(jo8m0 zRLsfkhJYBS#U51cGoW*Aznv%20_%A6kB1NAAh=Lo@G5P2|Gp|d^ET!$w*n49PN`>VEJlK37ML#Cu)XKFy7{fx-l|D_&7lxAM|=CerWA_bwToUQiR znVkkSc=didk4n1N?zRHnCE!2bA$;d)5E1fklYFlovW#@R=Syt6aycvSek*TV&$VeQ zZ>x_Jy%+3Z%G)b1^;MpM&vMGSQ}FU{lX__%8I(`TZ7UA?3X5(eF(Q-{;6x zyUcQOms&pOiJc|A@B7-t`Ial8XaxtN%f{PhBXw4m7NzWWMsx zcMwee_8SgM?W}S-oUC_WSzN?{DaM%b?6e^8O?cym4y%aq@X$!T$`O z2hYN1V-Y^z@8@%Y$U)_*?F!F_+^?o(N=Bq%TvyQK&_9v=86or>g#;PynZZ=CLyYq? zkchziJF##~IK1r*I~Tdc?mx~nD+|)Q6zO`;P4EA59-zfb+UIc2sU8s0eXDcAuOYtp zv*(0ANc_2E%(UyQ?H(w!D;YV@-iw@JZge(dys(MM7=9pVKTw}aFc6xYk#XryVSqK6 zQlu;XYui1dYvi9L^gRa&vzraNwT6tDe_1pck#TcQ?L`;s{>3@rxV11u@vxtA4q@5rlX!fI+;YEwGO1OVk*+X ze;|FHq|?75Kb1LwDc9HFXLgauu>Ubh&n~jh)vZz3K5qwnhOG6!`|nrSKA*Q$Vf)

v=h->vkR57B!5ILlQcEI=GVU_CsaV*2%nOA)jF=TMIGXKH#k{&L)P znD}?&=Xc|WijZCOyYX{w;|B&3f#ZoD3GL{iUvorC;QV?EY@Fw}9g%ddmw$nAsPCJn zAIKBd>=I-k5WW+(dylnOo%XrnJ@!5Oxg+*@<;x7ZSAX_0IVZ|m|0v;HY;2Xj=T)C0 z&Ch<;q;tG){Nn<@dS2l7bFut`pKJZ!r=>ow3yve*@8_N-?DKPvp2dH}6>V=G_OB~4 zsKS$%xc^S>GS^g`Td+`K`+jNNr=VTF^6Q0mP=1^r>EF|j)O#yjr=iI>KjF-Yb%uS< z0Q-+YpJyk%V?O@%Id$TJH1PHs`Q;bw7x^AB#m#=>A_pWxD{muC|zet{YB>fj2 zFYv41GtmC=m*ae*&-1cepuZOBbCQRIk0&f2V6u<>krr6}49fNApfO$^%MGHwk0%)s ze^1}*qjXq*eMrtoI)j`S8M^-aU6haRTjq}JFnqJWYJf@pW={csA-?_J`S^QOsL!qB z9ya9BkK%yj&KHI8>u)RT8xTC|1N)D9-~O`?n#6rGKK^TczWo_H4>SM&eXr=~lWaBo3Z!%V=Wi7K z)_wZCz9;=gp-(?BQ16W=EZ>%YwKIn;T~uc5jJ1R0@@70*x@`Ap z|G2ZyZ%%X{^eEe-@7wg*J=#NmyH64J*}by=KqGBn|8RWpJb^L!@5B$q_uIYCfR4&p z-{+;z_v?2J^u7Q21{v>c&#bf9?{NDA_QQTB#^3J;e#3SzJWIQ8EYj|${q3$3!Q~gp zIfH%|P0#oB{U?R@u!;WUra`a>+F#E>E&|KErSEUl@kxJ}DEj`>teCsPIqL;tM{mXZ^m8`T@GnTV?GG#}QkW zS|b=yed4{}`j5AmCj`66=zgQbIN^I2?yNuTvzlFz|lt*g2 ztdsKgxqV&FbKPLZw;eC33obT<*gjg`%2ory{!vQ88~LVPV4SnhHK#5}GTX_O$avT1 zwy4Jy2+U*rjGgzn{v3Px<(HX`=;g{C{N*@LquprsSj%pKbATB}J0*UGm+=rP<(gIj z-{x<5MDkhh2m&F-Ew)^;+}?k^NAPloUoduR&e{bgp=zz9SFVwmY`<1+H_1-_I*F6q8ov_Gt`Iy@Ec#`q zz#V9(i=V?b_UenueyP@%wfdZUfY>N+2foswT-f8@d&nP@fv0${RG!I*y!Xj#-$K@k zdhI?P{b$Oh-=3H8Jd$uzBug~Bhx4G3PybHQyPO@b=|`8DeBDoL2GcMt@Iww5{QT|v zP23cd3Uwca{BQm`F(oAJy(6aI;!Ec|O*!a!xX#xhHk&o(=wkP+5@ZIFx zF8EsRG2tg?&oT5oEL^_HkqtMmzEC;xdsB#CBzfl-xhJIk`rRnytI63Y{MhF=^;}H* zUGele)r7Og;Oo6A?|WfI+C#p!h4`Wz$G5M}(A9p--aBggEBBad(sOUN{r02*&Ac%R z`<}n?S?S+~qY~TiJn3_>h4)sQn!;LF~V--~9fP_*bV4zV@%`1O2)0W5cb<+{(r{IBeK4`*18*tY2B~ zA51y!j?&)Q{?+x(5laX1KMp$D@7k|TW>#jo7Y$!I&rS-TtoPPXzah!%H`NE#kF0$k zf7agf8*P>Py>V{Gw~lKazfJZ#M6~NN&c(nHX7E1`C;74f%k7l>bhV88W@K^{H(@?u z$W^3(a^?0T~q!e{&PH;Ns}H;7$pii#u1{<_1*U$UIN1>YZ0*p89EWI6w0-oaob zX0G2Q=;Q{iJqp<|{k~l8h^^OIDfsrih2izHeji5b@#YV$XTa8D?H>8O)5pK^rSfgE z@3~O9WM6OX!+Ftzik{t9~rXto(R9sNX^K<)g+I5E=~2g-@6wicuf&;aCKfS%-fe3 z1i}pJ$7+6I9uc|cb_+wi|4Tml)8d~t;k`l(xqU7pCwKpN{rOnv{GR1if7D*-z0LH# zu-y=Qe9tY7%s?oa&2_Cn?VKW!)M_*MC4SBPE~ zo9}f#@1JhRb5vs8m&sMz{+-|+PwN@_*PB=88uc*qo8Ld9Uo;0<9$us1k$viKDkglS zmP>=w&&WqyoS|*G*(Z!&rRyv`A5s62 zeq~^vQ}+=MOL^|6oUs1i0iXZL_O1VQVIPqDKNw<8_C}eX2)lsu`hH-$Pp0z^$1g+P ze$Oa>?{V?}>Rm~1c-Fv8Wt1YucdfKP8QCN75y{Wl`+^~B6MeCs-1?M{<@@0osoIF}ZB{(Fy{4-50)ZiB#cC$MDdWsh;+g7KW!i9OZt zMkHfm?-P!^XE?WVp(&p%-)!PiFwLec0RQ!fbBAra?e}=~97f+Sz>E z-``nG{@0oE>3yR2ZFYaW-=2r*dkxe3E--kyUdrt=Am#<3tM`exPGBI+{?UC_T|ekL z(v!~BLC-1%02 z?0R8bKOdHLU15Alhp7G2_a&*_Ry#MkO6cqRJ94+ldnxjd3q5|vl7V(Eg;?!d`eE^} z)SuM#mDs~+i-3W4_Faez{>}oEuHP@sy-wtvdaL%6jDu$M6LXTKntr`0S7rU_ z{zo`kAt(EO4Lv8zl*>)JWO;|l*L`X|-$*#^CY|zgS-wHWS1Mxng=pcIt3TxDL2=|W}^!z~gEp@$FS!1%zehTa7IXlebnCfli0m;ujDe}~N?7DxE zaQ@urUB7g%(*aqs2cNgG`a_xczl@E7E@6fQPD2={_Xz{}*~dkH!30y|RL^uSfL$g`Ou(q_>>Gnw&41`c&_9|DG}1pDe*dfuPUXds611+`CQ~e2zBVawV5xB|VCk{=phP0m|Py2?q%;~aY~qvPUi z?NEOrY5SKj<)L;~`Ap4tU7)^%^PqwCJX)Vq*6+gUyrJhHoIhQ(d)US@ey2IPw=fms zdY_3LeXdaFEC2XMQOpm)`78XLo}AhzrDxZ%`W<+so4`}$rrudnZ;l;UiaIf;VTS z?6Zx&OybKYf}o=ASnC!mvLd zrqB4B?1!qy@CTvN$~V<6^XQzqOHF!z)d-G&i853igjd?`IWHx2Vic^rp8yVtYT zkYk&a(|bL7uA8^#2VVLL!P9e3Z-089Ycj(7SbAR|_e8a!*+~ zS-nf8i4Fd&U#RmT)%sp^tj>$-_a#e8C&btH>=vItVK5P{Js{@~RRTKdujss%iOBaD zlXxFE!>ILx^juh<8#w#?`qR+-D$k>O{T8D)QHF%y~v*U&QaGZ^|Yn&Cxm)zgX4T_!6^2PLH zJRNj6g7$}=%j-VfoSo;!pSIVV7ho=oT}d1A-gECtU!PZ1{b~jpM~to~au>L!U~Za~ zThg{~wMjPq28No4UwA&;;!l(E)aO&!2T{6uPOjgf&836%b7?83^UCO2RD!^MV14vM z8L~4)k+a+YK*)EPsKC#y0(!_6=a)qd1*N|>T*!nkJ8`R%vm94@SHUO!3qcML%^t>#Zx&f=|7>6hHF~vRH7;;!&o-pZEYNwx&by%excep3awXTGi*`?s?e&_P#|?v~XCba+3LRpf7%_WAv7-VD>{1-7gaeEQp` z@iP?{|IMrCNoimI8ezB@)tP##rCbM+$tv67;7+1G$5sk@)IQzM()#qh?0nw}ngYGB z{7Ewc_g%h+`AzrLsTce*4D~XP3#|Qz<@q05I= z5K{NgGx3~-teyQR<3;D|%EwHy>#*G8y|&-3FYWxJ`)=9CC4YXTN}i870wM_9KcgR_ z=NA2!O1ko!dm=dQ^?UA3_P$8Mk?%5ka^5H9i^(|?IcfZU#UHiu8hud8@jT#o=zQ#P z@JPL(pW1KR*?&aZeQmYe8&&;ed)QOiMbci{FKS3?I;|(YJ-U@MCB4}A&~a55C(>`KkLFYYs@bqY&#kck7zM0C4c<=GA zdu9o~_xxM6*qhviuF3GrVF6MoC$4bVUzBu{vF_NXz8?UB-#?@t8#@d{*890%ay+RY z7c+XL_J#e-aii}e7;k5;68e^3F0WXB_VsFKroJLOqwUajO_Spq`UywA^E!Uq%RQuG z<37cXK{(TRzvnj?@5*PBdD^frzci!q97u(6F5k;N+c?+$EYPJCDR;34+OMA9mp0j^ zUH<-8|7H~Z%HZk$3W4*p#eV4bK>d0l&pnAA@E*gtJ}-3$`lR;|M#bGS?~i#F>7!3d zz4Rka5w_!we(g!$c%eQbDe%11r||rl;`{fzTz`N47Pjl9v$X4Ik#;41%iA^UKhcRc zOw?a*DAKMU!O!#Tp!Qez`PIWhnEtlt(<|3Q(ce>M9(yHvSRZPanI~a3sE_1(ph&yE z;A@wjKdD`3JN}t=){2b#%t&%lcKtw@p((*s*bjRik&Jyr;Q1yp{y$tj^ZpK0H&$iS zpOb8dkB{*AC4!6#>veg)MfU~uK0z^mOy_g;Gcu7Q&M4~Ba|wNJDO_KwP54hZM+`?^ zeQ5(a{dS($aUAxyyQkW7?pp-E%9f)YWxJaqNt1Ey211ZiwTYZci~o5a40(LXznYJW6E`ounRl1I?*kZJ#Ylj(Sgg0%#NK*8Z9wlFzrf#ClX33+o$s7NiDYSm^Ap7STp9h5D!|Q%4WE!7 z*UhO%R1PUXuejeaO8On9d8S{D{we*s zYLnrO8%vM$iC1j=6zE@Q=qH?ejDAvIUPifaJDW-`aDK{kz#u}wPZI;L z=k)nnS_|lKb|5x(6v}WMaO%-Z4FT#YVZCoSy3Hhe=S0caHG*f$ z>3*{3H$omPuj9SL>Z|8xq8wPqdt*e7sp>BoyX7DEr_g3k?$xF`NAF7}oc9`hZC^6F z$RM2k9N&&ZHX1?4kNO`v&XQ5rzR$_sFw3~tB zwFL3g_-FJVF`DOWX~Z9d7EyPn(lwy557YzhhZ;Ksc`_89XOsOl*6Y_Jy?5DS_iu(# z#^_UszTwwc0IN?npZGQSSGfv*5Y*0deSxY9`$V^zZ0xt!n|{bQ)JT7zowP!!`7;fI zSw8^opDLAgAl29*8)x91jY1&ABZ2;@hKzaJTM)0p!{fZ%Kb3zWfBXyLB|N-eBd>od z|4xL5zCpdItuoQfnJ)s?doHTCv?Aa6CN)(;YOCNe-T(Xq{Q-7$YAdBA{sH6s?Hfft zvsX!c?+%G88cm#H_>}i^xnU}+$vMKuE`*puD-_SRXZ;^wvXS^Iv8hpKX@8?_OP^`Vj#?{mJ8@BVMP&EpH`9EJSlgr)n`5b<9-^pi_Q2Z2I-JOYMIa> z%%Jaa)%Sml)<`S zA5flbFW+Cnz;*x}>ld*Z+f6v^S9NFQUV-;Mletn~G7do^q}JGVkWH^zEBSNQh&;US zW5zBu8S0<*+kVpdF}(kui7poYrVAbVBiDn1&fCpsPZeP+SLzX4w#CICg!$Ot`4-}Y zc`GmMCCW3ue=2?;P<*7fMLf~A=5cAr}X^;NT*~>Iy63o_oOfoAF79W zR_vhaLw@#NL*H-T#4esT>ErFeq9TRIS}lw0fiK z?>W?A zyGeF*T{YhRQYt8C{ZoDJYtH;BCcPP|dLMpqy-tbrXM|t9U(a

v!5m!heW=48`me&+%7<=Bt0i2j@IHBJ4P7 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 PYqLeL{fir)bN~MbW^G_h diff --git a/packages/localnet/src/solana/idl/gateway.json b/packages/localnet/src/solana/idl/gateway.json index 1cd6f7e..f1182a3 100644 --- a/packages/localnet/src/solana/idl/gateway.json +++ b/packages/localnet/src/solana/idl/gateway.json @@ -1,5 +1,5 @@ { - "address": "CgkjyKhvqDSSptxXyRLp4QD8vEyEwCBPmysDRwvFsWsw", + "address": "ZETAjseVjuFsxdRxo6MmTCvqFwb3ZHUx56Co3vCmGis", "metadata": { "name": "gateway", "version": "0.1.0", @@ -518,17 +518,41 @@ { "name": "authority", "writable": true, - "signer": true, - "relations": [ - "pda" - ] + "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], - "args": [] + "args": [ + { + "name": "signature", + "type": { + "array": [ + "u8", + 64 + ] + } + }, + { + "name": "recovery_id", + "type": "u8" + }, + { + "name": "message_hash", + "type": { + "array": [ + "u8", + 32 + ] + } + }, + { + "name": "nonce", + "type": "u64" + } + ] }, { "name": "update_authority", @@ -683,17 +707,41 @@ { "name": "authority", "writable": true, - "signer": true, - "relations": [ - "pda" - ] + "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], - "args": [] + "args": [ + { + "name": "signature", + "type": { + "array": [ + "u8", + 64 + ] + } + }, + { + "name": "recovery_id", + "type": "u8" + }, + { + "name": "message_hash", + "type": { + "array": [ + "u8", + 32 + ] + } + }, + { + "name": "nonce", + "type": "u64" + } + ] }, { "name": "withdraw", diff --git a/packages/tasks/src/localnet.ts b/packages/tasks/src/localnet.ts index 8b43055..a214473 100644 --- a/packages/tasks/src/localnet.ts +++ b/packages/tasks/src/localnet.ts @@ -76,6 +76,9 @@ const localnet = async (args: any) => { anvilProcess.stderr.pipe(process.stderr); } + const solanaTestValidator = exec(`solana-test-validator --reset`); + + await waitOn({ resources: [`tcp:127.0.0.1:8899`] }); await waitOn({ resources: [`tcp:127.0.0.1:${args.port}`] }); const cleanup = () => { @@ -83,6 +86,9 @@ const localnet = async (args: any) => { if (anvilProcess) { anvilProcess.kill(); } + if (solanaTestValidator) { + solanaTestValidator.kill(); + } if (fs.existsSync(LOCALNET_JSON_FILE)) { fs.unlinkSync(LOCALNET_JSON_FILE); } From 00397f1b68383feebb4874dd569f13a9d8a0aa9f Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 25 Nov 2024 18:23:11 +0300 Subject: [PATCH 04/16] wip --- Anchor.toml | 18 ++++++++++++++++++ id.json | 1 + packages/localnet/src/setupSolana.ts | 23 +++++++++-------------- 3 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 Anchor.toml create mode 100644 id.json diff --git a/Anchor.toml b/Anchor.toml new file mode 100644 index 0000000..351af0a --- /dev/null +++ b/Anchor.toml @@ -0,0 +1,18 @@ +[toolchain] + +[features] +resolution = true +skip-lint = false + +[programs.localnet] +protocol_contracts_solana = "ZETAjseVjuFsxdRxo6MmTCvqFwb3ZHUx56Co3vCmGis" + +[registry] +url = "https://api.apr.dev" + +[provider] +cluster = "Localnet" +wallet = "~/.config/solana/id.json" + +[scripts] +test = "yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts" diff --git a/id.json b/id.json new file mode 100644 index 0000000..85423f7 --- /dev/null +++ b/id.json @@ -0,0 +1 @@ +[226,33,123,184,96,139,44,115,82,178,219,192,1,148,155,75,236,228,63,240,93,99,172,216,99,139,135,208,28,104,155,64,27,143,61,13,64,234,160,109,160,60,172,254,97,91,129,73,115,110,77,96,34,63,132,61,93,151,50,61,65,227,36,70] \ No newline at end of file diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts index 493d19c..56ed26f 100644 --- a/packages/localnet/src/setupSolana.ts +++ b/packages/localnet/src/setupSolana.ts @@ -9,11 +9,12 @@ import { ec as EC } from "elliptic"; const execAsync = util.promisify(exec); +process.env.ANCHOR_WALLET = "./id.json"; +process.env.ANCHOR_PROVIDER_URL = "https://localhost:8899"; + const keypairFilePath = "./packages/localnet/src/solana/deploy/gateway-keypair.json"; -const providerUrl = "http://localhost:8899"; - const ec = new EC("secp256k1"); const tssKeyPair = ec.keyFromPrivate( @@ -43,24 +44,18 @@ export const setupSolana = async () => { const keypairData = JSON.parse(fs.readFileSync(keypairFilePath, "utf-8")); const keypair = Keypair.fromSecretKey(Uint8Array.from(keypairData)); - const wallet = new anchor.Wallet(keypair); + + // Set provider locally + anchor.setProvider(anchor.AnchorProvider.env()); const deployCommand = `solana program deploy --program-id ${keypairFilePath} ${gatewaySO} --url localhost`; console.log(`Running command: ${deployCommand}`); const { stdout } = await execAsync(deployCommand); - const connection = new anchor.web3.Connection(providerUrl, "confirmed"); + console.log(`Deployment output: ${stdout}`); - const provider = new anchor.AnchorProvider( - connection, - wallet, - anchor.AnchorProvider.defaultOptions() - ); - const gatewayProgram = new anchor.Program( - Gateway_IDL as anchor.Idl, - provider - ); - // await gatewayProgram.methods.initialize(tssAddress, chain_id_bn).rpc(); + const gateway = new anchor.Program(Gateway_IDL as anchor.Idl); + await gateway.methods.initialize(tssAddress, chain_id_bn).rpc(); } catch (error: any) { console.error(`Deployment error: ${error.message}`); if (error.logs) { From a0ff2925b4a5a9be66c5829c62fab34da177e3e5 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 25 Nov 2024 18:28:01 +0300 Subject: [PATCH 05/16] https --- packages/localnet/src/setupSolana.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts index 56ed26f..3fc0dd3 100644 --- a/packages/localnet/src/setupSolana.ts +++ b/packages/localnet/src/setupSolana.ts @@ -10,7 +10,7 @@ import { ec as EC } from "elliptic"; const execAsync = util.promisify(exec); process.env.ANCHOR_WALLET = "./id.json"; -process.env.ANCHOR_PROVIDER_URL = "https://localhost:8899"; +process.env.ANCHOR_PROVIDER_URL = "http://localhost:8899"; const keypairFilePath = "./packages/localnet/src/solana/deploy/gateway-keypair.json"; From d7e6fc0c8802eaf15ff9b3ab24946716404ffe04 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 25 Nov 2024 18:29:03 +0300 Subject: [PATCH 06/16] https --- packages/localnet/src/setupSolana.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts index 3fc0dd3..b0c5266 100644 --- a/packages/localnet/src/setupSolana.ts +++ b/packages/localnet/src/setupSolana.ts @@ -55,7 +55,7 @@ export const setupSolana = async () => { console.log(`Deployment output: ${stdout}`); const gateway = new anchor.Program(Gateway_IDL as anchor.Idl); - await gateway.methods.initialize(tssAddress, chain_id_bn).rpc(); + // await gateway.methods.initialize(tssAddress, chain_id_bn).rpc(); } catch (error: any) { console.error(`Deployment error: ${error.message}`); if (error.logs) { From 9e4e1661fda4ff8628a76be1c96459fb03844afd Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 25 Nov 2024 18:31:11 +0300 Subject: [PATCH 07/16] wip --- packages/localnet/src/setupSolana.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts index b0c5266..0d21956 100644 --- a/packages/localnet/src/setupSolana.ts +++ b/packages/localnet/src/setupSolana.ts @@ -45,8 +45,7 @@ export const setupSolana = async () => { const keypairData = JSON.parse(fs.readFileSync(keypairFilePath, "utf-8")); const keypair = Keypair.fromSecretKey(Uint8Array.from(keypairData)); - // Set provider locally - anchor.setProvider(anchor.AnchorProvider.env()); + anchor.setProvider(anchor.AnchorProvider.local()); const deployCommand = `solana program deploy --program-id ${keypairFilePath} ${gatewaySO} --url localhost`; console.log(`Running command: ${deployCommand}`); @@ -55,7 +54,7 @@ export const setupSolana = async () => { console.log(`Deployment output: ${stdout}`); const gateway = new anchor.Program(Gateway_IDL as anchor.Idl); - // await gateway.methods.initialize(tssAddress, chain_id_bn).rpc(); + await gateway.methods.initialize(tssAddress, chain_id_bn).rpc(); } catch (error: any) { console.error(`Deployment error: ${error.message}`); if (error.logs) { From 5842c04e52d877b032607c1f7c4a4c9e8a62d890 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 25 Nov 2024 19:08:39 +0300 Subject: [PATCH 08/16] change program id --- Anchor.toml | 2 +- packages/localnet/src/solana/idl/gateway.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Anchor.toml b/Anchor.toml index 351af0a..00eb8e8 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -5,7 +5,7 @@ resolution = true skip-lint = false [programs.localnet] -protocol_contracts_solana = "ZETAjseVjuFsxdRxo6MmTCvqFwb3ZHUx56Co3vCmGis" +protocol_contracts_solana = "94U5AHQMKkV5txNJ17QPXWoh474PheGou6cNP2FEuL1d" [registry] url = "https://api.apr.dev" diff --git a/packages/localnet/src/solana/idl/gateway.json b/packages/localnet/src/solana/idl/gateway.json index f1182a3..b42f297 100644 --- a/packages/localnet/src/solana/idl/gateway.json +++ b/packages/localnet/src/solana/idl/gateway.json @@ -1,5 +1,5 @@ { - "address": "ZETAjseVjuFsxdRxo6MmTCvqFwb3ZHUx56Co3vCmGis", + "address": "94U5AHQMKkV5txNJ17QPXWoh474PheGou6cNP2FEuL1d", "metadata": { "name": "gateway", "version": "0.1.0", From 7917f0271ad5abea373a13058b2a7075856c7304 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Tue, 26 Nov 2024 08:18:17 +0300 Subject: [PATCH 09/16] import key from config dir --- id.json | 1 - packages/localnet/src/setupSolana.ts | 8 +++++++- 2 files changed, 7 insertions(+), 2 deletions(-) delete mode 100644 id.json diff --git a/id.json b/id.json deleted file mode 100644 index 85423f7..0000000 --- a/id.json +++ /dev/null @@ -1 +0,0 @@ -[226,33,123,184,96,139,44,115,82,178,219,192,1,148,155,75,236,228,63,240,93,99,172,216,99,139,135,208,28,104,155,64,27,143,61,13,64,234,160,109,160,60,172,254,97,91,129,73,115,110,77,96,34,63,132,61,93,151,50,61,65,227,36,70] \ No newline at end of file diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts index 0d21956..b703045 100644 --- a/packages/localnet/src/setupSolana.ts +++ b/packages/localnet/src/setupSolana.ts @@ -6,10 +6,14 @@ import { PublicKey, Keypair } from "@solana/web3.js"; import * as fs from "fs"; import { keccak256 } from "ethereumjs-util"; import { ec as EC } from "elliptic"; +import path from "path"; const execAsync = util.promisify(exec); -process.env.ANCHOR_WALLET = "./id.json"; +process.env.ANCHOR_WALLET = path.resolve( + process.env.HOME || process.env.USERPROFILE || "", + ".config/solana/id.json" +); process.env.ANCHOR_PROVIDER_URL = "http://localhost:8899"; const keypairFilePath = @@ -53,6 +57,8 @@ export const setupSolana = async () => { const { stdout } = await execAsync(deployCommand); console.log(`Deployment output: ${stdout}`); + await new Promise((r) => setTimeout(r, 1000)); + const gateway = new anchor.Program(Gateway_IDL as anchor.Idl); await gateway.methods.initialize(tssAddress, chain_id_bn).rpc(); } catch (error: any) { From 0edaac7d6a017debbb7412fa8d5ff3f277b7c642 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Thu, 28 Nov 2024 12:59:17 +0300 Subject: [PATCH 10/16] wip --- packages/localnet/src/setupSolana.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts index b703045..344f522 100644 --- a/packages/localnet/src/setupSolana.ts +++ b/packages/localnet/src/setupSolana.ts @@ -1,12 +1,14 @@ import { exec } from "child_process"; import util from "util"; import * as anchor from "@coral-xyz/anchor"; +import { Program, web3 } from "@coral-xyz/anchor"; import Gateway_IDL from "./solana/idl/gateway.json"; import { PublicKey, Keypair } from "@solana/web3.js"; import * as fs from "fs"; import { keccak256 } from "ethereumjs-util"; import { ec as EC } from "elliptic"; import path from "path"; +const { TransactionInstruction } = anchor.web3; const execAsync = util.promisify(exec); @@ -59,8 +61,16 @@ export const setupSolana = async () => { await new Promise((r) => setTimeout(r, 1000)); - const gateway = new anchor.Program(Gateway_IDL as anchor.Idl); - await gateway.methods.initialize(tssAddress, chain_id_bn).rpc(); + const gatewayProgram = new anchor.Program(Gateway_IDL as anchor.Idl); + + // Initialize the gateway program + await gatewayProgram.methods.initialize(tssAddress, chain_id_bn).rpc(); + console.log("Initialized gateway program"); + + await gatewayProgram.methods + .deposit(new anchor.BN(1_000_000_000), Array.from(address)) + .accounts({}) + .rpc(); } catch (error: any) { console.error(`Deployment error: ${error.message}`); if (error.logs) { From 220328b63b27d9c1f2dd47b57e3fd5f0ad2aa0bc Mon Sep 17 00:00:00 2001 From: skosito Date: Thu, 28 Nov 2024 14:22:28 +0100 Subject: [PATCH 11/16] use correct gateway.so --- .../localnet/src/solana/deploy/gateway.so | Bin 278648 -> 366416 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/localnet/src/solana/deploy/gateway.so b/packages/localnet/src/solana/deploy/gateway.so index 185b938c3ca936bfc13c831b38af4b826e8bef8a..0fe82f24f22d1d765fb38561a8c2c37fc75b629b 100755 GIT binary patch literal 366416 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 NC~HE#mx9cC{|gJ8rk?-+ From ac8cf219ce29b99f0a32cbf61f5afe214f2c2649 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Thu, 28 Nov 2024 19:41:45 +0300 Subject: [PATCH 12/16] monitoring solana transactions --- packages/localnet/src/index.ts | 67 +++++++++++++++++++++++++++- packages/localnet/src/setupSolana.ts | 12 +---- 2 files changed, 67 insertions(+), 12 deletions(-) diff --git a/packages/localnet/src/index.ts b/packages/localnet/src/index.ts index 10b7200..8e06e6a 100755 --- a/packages/localnet/src/index.ts +++ b/packages/localnet/src/index.ts @@ -18,6 +18,7 @@ import { createToken } from "./createToken"; import { handleOnZEVMWithdrawnAndCalled } from "./handleOnZEVMWithdrawnAndCalled"; import { handleOnEVMDepositedAndCalled } from "./handleOnEVMDepositedAndCalled"; import { setupSolana } from "./setupSolana"; +import * as anchor from "@coral-xyz/anchor"; const FUNGIBLE_MODULE_ADDRESS = "0x735b14BB79463307AAcBED86DAf3322B1e6226aB"; @@ -248,6 +249,58 @@ const deployProtocolContracts = async ( }; }; +async function monitorProgramTransactions(programId: any, connection: any) { + console.log(`Monitoring transactions for program: ${programId.toBase58()}`); + + let lastSignature: string | undefined = undefined; + + setInterval(async () => { + try { + const signatures = await connection.getSignaturesForAddress( + programId, + { limit: 10, before: lastSignature }, + "confirmed" + ); + + if (signatures.length === 0) return; + + for (const signatureInfo of signatures.reverse()) { + const transaction = await connection.getTransaction( + signatureInfo.signature, + { commitment: "confirmed" } + ); + + if (transaction) { + console.log("Transaction Details:", transaction); + + for (const instruction of transaction.transaction.message + .instructions) { + // Map programId from accountKeys + const programIdIndex = + instruction.programIdIndex || instruction.programId; + const programIdFromInstruction = + transaction.transaction.message.accountKeys[programIdIndex]; + + if ( + programIdFromInstruction && + programIdFromInstruction.equals(programId) + ) { + console.log("Instruction for program detected:", instruction); + + const decodedData = instruction.data; // Add your decoding logic here + console.log("Decoded Instruction Data:", decodedData); + } + } + } + } + + lastSignature = signatures[signatures.length - 1].signature; + } catch (error) { + console.error("Error monitoring transactions:", error); + } + }, 1000); +} + export const initLocalnet = async ({ port, exitOnError, @@ -255,7 +308,19 @@ export const initLocalnet = async ({ port: number; exitOnError: boolean; }) => { - await setupSolana(); + const { gatewayProgram, address } = await setupSolana(); + + const connection = gatewayProgram.provider.connection; + + monitorProgramTransactions(gatewayProgram.programId, connection); + + await new Promise((r) => setTimeout(r, 3000)); + + await gatewayProgram.methods + .deposit(new anchor.BN(1_000_000_000), Array.from(address)) + .accounts({}) + .rpc(); + const provider = new ethers.JsonRpcProvider(`http://127.0.0.1:${port}`); provider.pollingInterval = 100; // anvil test mnemonic diff --git a/packages/localnet/src/setupSolana.ts b/packages/localnet/src/setupSolana.ts index 344f522..07af748 100644 --- a/packages/localnet/src/setupSolana.ts +++ b/packages/localnet/src/setupSolana.ts @@ -1,14 +1,11 @@ import { exec } from "child_process"; import util from "util"; import * as anchor from "@coral-xyz/anchor"; -import { Program, web3 } from "@coral-xyz/anchor"; import Gateway_IDL from "./solana/idl/gateway.json"; -import { PublicKey, Keypair } from "@solana/web3.js"; import * as fs from "fs"; import { keccak256 } from "ethereumjs-util"; import { ec as EC } from "elliptic"; import path from "path"; -const { TransactionInstruction } = anchor.web3; const execAsync = util.promisify(exec); @@ -48,9 +45,6 @@ export const setupSolana = async () => { const address = addressBuffer.slice(-20); const tssAddress = Array.from(address); - const keypairData = JSON.parse(fs.readFileSync(keypairFilePath, "utf-8")); - const keypair = Keypair.fromSecretKey(Uint8Array.from(keypairData)); - anchor.setProvider(anchor.AnchorProvider.local()); const deployCommand = `solana program deploy --program-id ${keypairFilePath} ${gatewaySO} --url localhost`; @@ -63,14 +57,10 @@ export const setupSolana = async () => { const gatewayProgram = new anchor.Program(Gateway_IDL as anchor.Idl); - // Initialize the gateway program await gatewayProgram.methods.initialize(tssAddress, chain_id_bn).rpc(); console.log("Initialized gateway program"); - await gatewayProgram.methods - .deposit(new anchor.BN(1_000_000_000), Array.from(address)) - .accounts({}) - .rpc(); + return { gatewayProgram, address }; } catch (error: any) { console.error(`Deployment error: ${error.message}`); if (error.logs) { From 168cce5adff5212f09c709f3f63778809edda489 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Thu, 28 Nov 2024 19:52:09 +0300 Subject: [PATCH 13/16] monitoring solana transactions --- packages/localnet/src/index.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/localnet/src/index.ts b/packages/localnet/src/index.ts index 8e06e6a..141b147 100755 --- a/packages/localnet/src/index.ts +++ b/packages/localnet/src/index.ts @@ -249,15 +249,17 @@ const deployProtocolContracts = async ( }; }; -async function monitorProgramTransactions(programId: any, connection: any) { - console.log(`Monitoring transactions for program: ${programId.toBase58()}`); +async function monitorProgramTransactions(program: any, connection: any) { + console.log( + `Monitoring transactions for program: ${program.programId.toBase58()}` + ); let lastSignature: string | undefined = undefined; setInterval(async () => { try { const signatures = await connection.getSignaturesForAddress( - programId, + program.programId, { limit: 10, before: lastSignature }, "confirmed" ); @@ -275,7 +277,6 @@ async function monitorProgramTransactions(programId: any, connection: any) { for (const instruction of transaction.transaction.message .instructions) { - // Map programId from accountKeys const programIdIndex = instruction.programIdIndex || instruction.programId; const programIdFromInstruction = @@ -283,12 +284,14 @@ async function monitorProgramTransactions(programId: any, connection: any) { if ( programIdFromInstruction && - programIdFromInstruction.equals(programId) + programIdFromInstruction.equals(program.programId) ) { console.log("Instruction for program detected:", instruction); - const decodedData = instruction.data; // Add your decoding logic here - console.log("Decoded Instruction Data:", decodedData); + const rawData = Buffer.from(instruction.data, "base64"); // Adjust if data isn't base64 + const decodedInstruction = + program.coder.instruction.decode(rawData); + console.log("Decoded Instruction:", decodedInstruction); } } } @@ -312,7 +315,7 @@ export const initLocalnet = async ({ const connection = gatewayProgram.provider.connection; - monitorProgramTransactions(gatewayProgram.programId, connection); + monitorProgramTransactions(gatewayProgram, connection); await new Promise((r) => setTimeout(r, 3000)); From 5ba66fed1d81ed23d7612260fa54c1b65857fabf Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Fri, 29 Nov 2024 12:43:29 +0300 Subject: [PATCH 14/16] observe only new transactions --- packages/localnet/src/index.ts | 41 ++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/packages/localnet/src/index.ts b/packages/localnet/src/index.ts index 141b147..956ae6e 100755 --- a/packages/localnet/src/index.ts +++ b/packages/localnet/src/index.ts @@ -248,10 +248,9 @@ const deployProtocolContracts = async ( uniswapRouterInstance, }; }; - -async function monitorProgramTransactions(program: any, connection: any) { +async function monitorOnlyNewTransactions(program: any, connection: any) { console.log( - `Monitoring transactions for program: ${program.programId.toBase58()}` + `Monitoring new transactions for program: ${program.programId.toBase58()}` ); let lastSignature: string | undefined = undefined; @@ -260,20 +259,32 @@ async function monitorProgramTransactions(program: any, connection: any) { try { const signatures = await connection.getSignaturesForAddress( program.programId, - { limit: 10, before: lastSignature }, + { limit: 10 }, "confirmed" ); if (signatures.length === 0) return; - for (const signatureInfo of signatures.reverse()) { + const newSignatures = []; + + for (const signatureInfo of signatures) { + if (signatureInfo.signature === lastSignature) { + break; + } else { + newSignatures.push(signatureInfo); + } + } + + if (newSignatures.length === 0) return; + + for (const signatureInfo of newSignatures.reverse()) { const transaction = await connection.getTransaction( signatureInfo.signature, { commitment: "confirmed" } ); if (transaction) { - console.log("Transaction Details:", transaction); + console.log("New Transaction Details:", transaction); for (const instruction of transaction.transaction.message .instructions) { @@ -288,7 +299,7 @@ async function monitorProgramTransactions(program: any, connection: any) { ) { console.log("Instruction for program detected:", instruction); - const rawData = Buffer.from(instruction.data, "base64"); // Adjust if data isn't base64 + const rawData = Buffer.from(instruction.data, "base64"); const decodedInstruction = program.coder.instruction.decode(rawData); console.log("Decoded Instruction:", decodedInstruction); @@ -297,9 +308,9 @@ async function monitorProgramTransactions(program: any, connection: any) { } } - lastSignature = signatures[signatures.length - 1].signature; + lastSignature = signatures[0].signature; } catch (error) { - console.error("Error monitoring transactions:", error); + console.error("Error monitoring new transactions:", error); } }, 1000); } @@ -314,13 +325,19 @@ export const initLocalnet = async ({ const { gatewayProgram, address } = await setupSolana(); const connection = gatewayProgram.provider.connection; + await gatewayProgram.methods + .deposit(new anchor.BN(1_000_000_000), Array.from(address)) + .accounts({}) + .rpc(); + + await new Promise((r) => setTimeout(r, 7000)); - monitorProgramTransactions(gatewayProgram, connection); + monitorOnlyNewTransactions(gatewayProgram, connection); - await new Promise((r) => setTimeout(r, 3000)); + await new Promise((r) => setTimeout(r, 7000)); await gatewayProgram.methods - .deposit(new anchor.BN(1_000_000_000), Array.from(address)) + .deposit(new anchor.BN(2_000_000_000), Array.from(address)) .accounts({}) .rpc(); From 704e4c971006ff196b4c3df24a9a78aadd565df9 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Fri, 29 Nov 2024 13:09:14 +0300 Subject: [PATCH 15/16] stop observing txs which failed to be decoded --- packages/localnet/src/index.ts | 81 ++++++++++++++++++++++------------ 1 file changed, 53 insertions(+), 28 deletions(-) diff --git a/packages/localnet/src/index.ts b/packages/localnet/src/index.ts index 956ae6e..8f52542 100755 --- a/packages/localnet/src/index.ts +++ b/packages/localnet/src/index.ts @@ -19,6 +19,7 @@ import { handleOnZEVMWithdrawnAndCalled } from "./handleOnZEVMWithdrawnAndCalled import { handleOnEVMDepositedAndCalled } from "./handleOnEVMDepositedAndCalled"; import { setupSolana } from "./setupSolana"; import * as anchor from "@coral-xyz/anchor"; +import * as borsh from "borsh"; const FUNGIBLE_MODULE_ADDRESS = "0x735b14BB79463307AAcBED86DAf3322B1e6226aB"; @@ -256,8 +257,9 @@ async function monitorOnlyNewTransactions(program: any, connection: any) { let lastSignature: string | undefined = undefined; setInterval(async () => { + let signatures; try { - const signatures = await connection.getSignaturesForAddress( + signatures = await connection.getSignaturesForAddress( program.programId, { limit: 10 }, "confirmed" @@ -278,39 +280,62 @@ async function monitorOnlyNewTransactions(program: any, connection: any) { if (newSignatures.length === 0) return; for (const signatureInfo of newSignatures.reverse()) { - const transaction = await connection.getTransaction( - signatureInfo.signature, - { commitment: "confirmed" } - ); - - if (transaction) { - console.log("New Transaction Details:", transaction); - - for (const instruction of transaction.transaction.message - .instructions) { - const programIdIndex = - instruction.programIdIndex || instruction.programId; - const programIdFromInstruction = - transaction.transaction.message.accountKeys[programIdIndex]; - - if ( - programIdFromInstruction && - programIdFromInstruction.equals(program.programId) - ) { - console.log("Instruction for program detected:", instruction); - - const rawData = Buffer.from(instruction.data, "base64"); - const decodedInstruction = - program.coder.instruction.decode(rawData); - console.log("Decoded Instruction:", decodedInstruction); + try { + const transaction = await connection.getTransaction( + signatureInfo.signature, + { commitment: "confirmed" } + ); + + if (transaction) { + console.log("New Transaction Details:", transaction); + + for (const instruction of transaction.transaction.message + .instructions) { + const programIdIndex = + instruction.programIdIndex || instruction.programId; + const programIdFromInstruction = + transaction.transaction.message.accountKeys[programIdIndex]; + + if ( + programIdFromInstruction && + programIdFromInstruction.equals(program.programId) + ) { + console.log("Instruction for program detected:", instruction); + const DepositInstructionSchema = { + struct: { + discriminator: { array: { type: "u8", length: 8 } }, + amount: "u64", + memo: { array: { type: "u8" } }, + }, + }; + const rawData = Buffer.from(instruction.data, "base64"); + const decoded = borsh.deserialize( + DepositInstructionSchema, + rawData + ); + + const decodedInstruction = + program.coder.instruction.decode(rawData); + console.log("Decoded Instruction:", decoded); + } } } + } catch (transactionError) { + console.error( + `Error processing transaction ${signatureInfo.signature}:`, + transactionError + ); + // Continue to the next transaction even if an error occurs + continue; } } - - lastSignature = signatures[0].signature; } catch (error) { console.error("Error monitoring new transactions:", error); + } finally { + // Update lastSignature even if an error occurs + if (signatures && signatures.length > 0) { + lastSignature = signatures[0].signature; + } } }, 1000); } From be0483220a27ffd004fe86ae5bf0af87cace325a Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Fri, 29 Nov 2024 13:29:37 +0300 Subject: [PATCH 16/16] wip --- packages/localnet/src/index.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/localnet/src/index.ts b/packages/localnet/src/index.ts index 8f52542..93def72 100755 --- a/packages/localnet/src/index.ts +++ b/packages/localnet/src/index.ts @@ -303,11 +303,12 @@ async function monitorOnlyNewTransactions(program: any, connection: any) { console.log("Instruction for program detected:", instruction); const DepositInstructionSchema = { struct: { - discriminator: { array: { type: "u8", length: 8 } }, - amount: "u64", - memo: { array: { type: "u8" } }, + discriminator: { array: { type: "u8", length: 8 } }, // 8-byte discriminator + amount: "u64", // Amount as uint64 + receiver: { array: { type: "u8", length: 20 } }, // Receiver as 20-byte array }, }; + const rawData = Buffer.from(instruction.data, "base64"); const decoded = borsh.deserialize( DepositInstructionSchema,