diff --git a/crates/by-chain/icepick-solana/src/lib.rs b/crates/by-chain/icepick-solana/src/lib.rs index 4740071..bb735e5 100644 --- a/crates/by-chain/icepick-solana/src/lib.rs +++ b/crates/by-chain/icepick-solana/src/lib.rs @@ -705,8 +705,8 @@ impl Module for Solana { "nonce_pubkey": keypair.pubkey().to_string(), "nonce_privkey": [keypair.secret().to_bytes()], "transaction": instructions, + "derivation_accounts": [0u32 | 1 << 31], }, - "derivation_accounts": [0u32 | 1 << 31], })) } Operation::GetNonceAccountData(GetNonceAccountData { diff --git a/icepick.toml b/icepick.toml index f1ff0b6..25a36de 100644 --- a/icepick.toml +++ b/icepick.toml @@ -60,9 +60,21 @@ from_address = "wallet_pubkey" authorization_address = "authorization_address" [module.workflow.step.outputs] -transaction = "unsigned_transaction" +transaction = "instructions" nonce_pubkey = "nonce_pubkey" nonce_privkey = "private_keys" +derivation_accounts = "derivation_accounts" + +[[module.workflow.step]] +type = "sol-compile" + +[module.workflow.step.inputs] +instructions = "instructions" +derivation_accounts = "derivation_accounts" +blockhash = "blockhash" + +[module.workflow.step.outputs] +transaction = "unsigned_transaction" [[module.workflow.step]] type = "sol-sign" @@ -78,12 +90,12 @@ transaction = "signed_transaction" [[module.workflow.step]] type = "sol-broadcast" inputs = { cluster = "cluster", transaction = "signed_transaction" } -outputs = { status = "status", url = "url" } +outputs = { status = "status", url = "url", error = "error" } [[module.workflow.step]] type = "internal-cat" -inputs = { status = "status", url = "url", nonce_account = "nonce_pubkey" } -outputs = { status = "status", url = "url", nonce_account = "nonce_account" } +inputs = { status = "status", url = "url", nonce_account = "nonce_pubkey", error = "error" } +outputs = { status = "status", url = "url", nonce_account = "nonce_account", error = "error" } [[module.workflow]] # Transfer SOL from one address to another.