refactor main config file from toml to yaml
This commit is contained in:
parent
4f5779c983
commit
42b6b6ad4e
223
icepick.toml
223
icepick.toml
|
@ -1,223 +0,0 @@
|
||||||
[[module]]
|
|
||||||
name = "sol"
|
|
||||||
derivation_prefix = "m/44'/501'/0'"
|
|
||||||
algorithm = "Ed25519"
|
|
||||||
|
|
||||||
# NOTE: To get a nonce address, the `generate-nonce-account` workflow should be
|
|
||||||
# run. It is the only workflow that uses a blockhash, which is why a
|
|
||||||
# `broadcast-with-blockhash` or similar is not, and should not be, implemented.
|
|
||||||
[[module.workflow]]
|
|
||||||
name = "broadcast"
|
|
||||||
inputs = ["nonce_address", "cluster"]
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-get-nonce-account-data"
|
|
||||||
inputs = { nonce_address = "nonce_address", cluster = "cluster" }
|
|
||||||
outputs = { authority = "nonce_authority", durable_nonce = "nonce" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "internal-save-file"
|
|
||||||
values = { filename = "nonce.json" }
|
|
||||||
inputs = { nonce_authority = "nonce_authority", nonce_data = "nonce", nonce_address = "nonce_address" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "internal-load-file"
|
|
||||||
values = { filename = "transaction.json" }
|
|
||||||
outputs = { transaction = "transaction" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-broadcast"
|
|
||||||
inputs = { cluster = "cluster", transaction = "transaction" }
|
|
||||||
outputs = { status = "status", url = "url", error = "error" }
|
|
||||||
|
|
||||||
[[module.workflow]]
|
|
||||||
name = "generate-nonce-account"
|
|
||||||
inputs = ["cluster", "authorization_address"]
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-generate-wallet"
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-get-wallet-address"
|
|
||||||
outputs = { pubkey = "wallet_pubkey" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-await-funds"
|
|
||||||
inputs = { address = "wallet_pubkey", cluster = "cluster" }
|
|
||||||
# enough to cover two signatures and the 1_500_000 approx. rent fee
|
|
||||||
values = { lamports = "1510000" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-get-blockhash"
|
|
||||||
inputs = { cluster = "cluster" }
|
|
||||||
outputs = { blockhash = "blockhash" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-create-nonce-account-and-signing-key"
|
|
||||||
|
|
||||||
[module.workflow.step.inputs]
|
|
||||||
from_address = "wallet_pubkey"
|
|
||||||
authorization_address = "authorization_address"
|
|
||||||
|
|
||||||
[module.workflow.step.outputs]
|
|
||||||
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"
|
|
||||||
|
|
||||||
[module.workflow.step.inputs]
|
|
||||||
blockhash = "blockhash"
|
|
||||||
signing_keys = "private_keys"
|
|
||||||
transaction = "unsigned_transaction"
|
|
||||||
|
|
||||||
[module.workflow.step.outputs]
|
|
||||||
transaction = "signed_transaction"
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-broadcast"
|
|
||||||
inputs = { cluster = "cluster", transaction = "signed_transaction" }
|
|
||||||
outputs = { status = "status", url = "url", error = "error" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "internal-cat"
|
|
||||||
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.
|
|
||||||
name = "transfer"
|
|
||||||
inputs = ["to_address", "from_address", "amount"]
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "internal-load-file"
|
|
||||||
values = { filename = "nonce.json" }
|
|
||||||
outputs = { nonce_authority = "nonce_authority", nonce_data = "nonce_data", nonce_address = "nonce_address" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-transfer"
|
|
||||||
inputs = { from_address = "from_address", to_address = "to_address", amount = "amount" }
|
|
||||||
outputs = { instructions = "instructions", derivation_accounts = "derivation_accounts" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-compile"
|
|
||||||
|
|
||||||
[module.workflow.step.inputs]
|
|
||||||
instructions = "instructions"
|
|
||||||
derivation_accounts = "derivation_accounts"
|
|
||||||
nonce_address = "nonce_address"
|
|
||||||
nonce_authority = "nonce_authority"
|
|
||||||
nonce_data = "nonce_data"
|
|
||||||
|
|
||||||
[module.workflow.step.outputs]
|
|
||||||
transaction = "unsigned_transaction"
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "sol-sign"
|
|
||||||
|
|
||||||
inputs = { blockhash = "nonce_data", transaction = "unsigned_transaction" }
|
|
||||||
outputs = { transaction = "signed_transaction" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "internal-save-file"
|
|
||||||
|
|
||||||
values = { filename = "transaction.json" }
|
|
||||||
inputs = { transaction = "signed_transaction" }
|
|
||||||
|
|
||||||
[[module]]
|
|
||||||
name = "cosmos"
|
|
||||||
derivation_prefix = "m/44'/118'/0'"
|
|
||||||
algorithm = "Secp256k1"
|
|
||||||
|
|
||||||
[[module.workflow]]
|
|
||||||
name = "transfer"
|
|
||||||
inputs = ["from_address", "to_address", "asset_name", "chain_name", "asset_amount"]
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
# NOTE: chain_name can't be discoverable by filtering from asset_name, since
|
|
||||||
# some asset devnets reuse the name. There's no difference between KYVE on Kyve
|
|
||||||
# or Korellia (devnet).
|
|
||||||
type = "cosmos-get-chain-info"
|
|
||||||
inputs = { chain_name = "chain_name" }
|
|
||||||
outputs = { blockchain_config = "blockchain_config" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "internal-load-file"
|
|
||||||
values = { filename = "account_info.json" }
|
|
||||||
outputs = { account_number = "account_number", sequence_number = "sequence_number" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "cosmos-transfer"
|
|
||||||
|
|
||||||
[module.workflow.step.inputs]
|
|
||||||
from_address = "from_address"
|
|
||||||
to_address = "to_address"
|
|
||||||
amount = "asset_amount"
|
|
||||||
denom = "asset_name"
|
|
||||||
blockchain_config = "blockchain_config"
|
|
||||||
|
|
||||||
[module.workflow.step.outputs]
|
|
||||||
fee = "fee"
|
|
||||||
tx_messages = "tx_messages"
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "cosmos-sign"
|
|
||||||
|
|
||||||
[module.workflow.step.inputs]
|
|
||||||
fee = "fee"
|
|
||||||
tx_messages = "tx_messages"
|
|
||||||
account_number = "account_number"
|
|
||||||
sequence_number = "sequence_number"
|
|
||||||
blockchain_config = "blockchain_config"
|
|
||||||
|
|
||||||
[module.workflow.step.outputs]
|
|
||||||
transaction = "signed_transaction"
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "internal-save-file"
|
|
||||||
values = { filename = "transaction.json" }
|
|
||||||
inputs = { transaction = "signed_transaction" }
|
|
||||||
|
|
||||||
[[module.workflow]]
|
|
||||||
name = "broadcast"
|
|
||||||
# NOTE: For the purpose of Cosmos, the nonce is a direct part of the signer's
|
|
||||||
# account.
|
|
||||||
inputs = ["nonce_address", "chain_name"]
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "cosmos-get-chain-info"
|
|
||||||
inputs = { chain_name = "chain_name" }
|
|
||||||
outputs = { blockchain_config = "blockchain_config" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "cosmos-get-account-data"
|
|
||||||
inputs = { account_id = "nonce_address", blockchain_config = "blockchain_config" }
|
|
||||||
outputs = { account_number = "account_number", sequence_number = "sequence_number" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "internal-save-file"
|
|
||||||
values = { filename = "account_info.json" }
|
|
||||||
inputs = { account_number = "account_number", sequence_number = "sequence_number" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "internal-load-file"
|
|
||||||
values = { filename = "transaction.json" }
|
|
||||||
outputs = { transaction = "transaction" }
|
|
||||||
|
|
||||||
[[module.workflow.step]]
|
|
||||||
type = "cosmos-broadcast"
|
|
||||||
inputs = { blockchain_config = "blockchain_config", transaction = "transaction" }
|
|
||||||
outputs = { status = "status", url = "url", error = "error", error_code = "error_code" }
|
|
|
@ -0,0 +1,224 @@
|
||||||
|
module:
|
||||||
|
- name: "sol"
|
||||||
|
derivation_prefix: "m/44'/501'/0'"
|
||||||
|
algorithm: "Ed25519"
|
||||||
|
workflow:
|
||||||
|
- name: "broadcast"
|
||||||
|
inputs:
|
||||||
|
- "nonce_address"
|
||||||
|
- "cluster"
|
||||||
|
step:
|
||||||
|
- type: "sol-get-nonce-account-data"
|
||||||
|
inputs:
|
||||||
|
nonce_address: "nonce_address"
|
||||||
|
cluster: "cluster"
|
||||||
|
outputs:
|
||||||
|
authority: "nonce_authority"
|
||||||
|
durable_nonce: "nonce"
|
||||||
|
- type: "internal-save-file"
|
||||||
|
values:
|
||||||
|
filename: "nonce.json"
|
||||||
|
inputs:
|
||||||
|
nonce_authority: "nonce_authority"
|
||||||
|
nonce_data: "nonce"
|
||||||
|
nonce_address: "nonce_address"
|
||||||
|
- type: "internal-load-file"
|
||||||
|
values:
|
||||||
|
filename: "transaction.json"
|
||||||
|
outputs:
|
||||||
|
transaction: "transaction"
|
||||||
|
- type: "sol-broadcast"
|
||||||
|
inputs:
|
||||||
|
cluster: "cluster"
|
||||||
|
transaction: "transaction"
|
||||||
|
outputs:
|
||||||
|
status: "status"
|
||||||
|
url: "url"
|
||||||
|
error: "error"
|
||||||
|
- name: "generate-nonce-account"
|
||||||
|
inputs:
|
||||||
|
- "cluster"
|
||||||
|
- "authorization_address"
|
||||||
|
step:
|
||||||
|
- type: "sol-generate-wallet"
|
||||||
|
- type: "sol-get-wallet-address"
|
||||||
|
outputs:
|
||||||
|
pubkey: "wallet_pubkey"
|
||||||
|
- type: "sol-await-funds"
|
||||||
|
inputs:
|
||||||
|
address: "wallet_pubkey"
|
||||||
|
cluster: "cluster"
|
||||||
|
values:
|
||||||
|
lamports: "1510000"
|
||||||
|
- type: "sol-get-blockhash"
|
||||||
|
inputs:
|
||||||
|
cluster: "cluster"
|
||||||
|
outputs:
|
||||||
|
blockhash: "blockhash"
|
||||||
|
- type: "sol-create-nonce-account-and-signing-key"
|
||||||
|
inputs:
|
||||||
|
from_address: "wallet_pubkey"
|
||||||
|
authorization_address: "authorization_address"
|
||||||
|
outputs:
|
||||||
|
transaction: "instructions"
|
||||||
|
nonce_pubkey: "nonce_pubkey"
|
||||||
|
nonce_privkey: "private_keys"
|
||||||
|
derivation_accounts: "derivation_accounts"
|
||||||
|
- type: "sol-compile"
|
||||||
|
inputs:
|
||||||
|
instructions: "instructions"
|
||||||
|
derivation_accounts: "derivation_accounts"
|
||||||
|
blockhash: "blockhash"
|
||||||
|
outputs:
|
||||||
|
transaction: "unsigned_transaction"
|
||||||
|
- type: "sol-sign"
|
||||||
|
inputs:
|
||||||
|
blockhash: "blockhash"
|
||||||
|
signing_keys: "private_keys"
|
||||||
|
transaction: "unsigned_transaction"
|
||||||
|
outputs:
|
||||||
|
transaction: "signed_transaction"
|
||||||
|
- type: "sol-broadcast"
|
||||||
|
inputs:
|
||||||
|
cluster: "cluster"
|
||||||
|
transaction: "signed_transaction"
|
||||||
|
outputs:
|
||||||
|
status: "status"
|
||||||
|
url: "url"
|
||||||
|
error: "error"
|
||||||
|
- type: "internal-cat"
|
||||||
|
inputs:
|
||||||
|
status: "status"
|
||||||
|
url: "url"
|
||||||
|
nonce_account: "nonce_pubkey"
|
||||||
|
error: "error"
|
||||||
|
outputs:
|
||||||
|
status: "status"
|
||||||
|
url: "url"
|
||||||
|
nonce_account: "nonce_account"
|
||||||
|
error: "error"
|
||||||
|
- name: "transfer"
|
||||||
|
inputs:
|
||||||
|
- "to_address"
|
||||||
|
- "from_address"
|
||||||
|
- "amount"
|
||||||
|
step:
|
||||||
|
- type: "internal-load-file"
|
||||||
|
values:
|
||||||
|
filename: "nonce.json"
|
||||||
|
outputs:
|
||||||
|
nonce_authority: "nonce_authority"
|
||||||
|
nonce_data: "nonce_data"
|
||||||
|
nonce_address: "nonce_address"
|
||||||
|
- type: "sol-transfer"
|
||||||
|
inputs:
|
||||||
|
from_address: "from_address"
|
||||||
|
to_address: "to_address"
|
||||||
|
amount: "amount"
|
||||||
|
outputs:
|
||||||
|
instructions: "instructions"
|
||||||
|
derivation_accounts: "derivation_accounts"
|
||||||
|
- type: "sol-compile"
|
||||||
|
inputs:
|
||||||
|
instructions: "instructions"
|
||||||
|
derivation_accounts: "derivation_accounts"
|
||||||
|
nonce_address: "nonce_address"
|
||||||
|
nonce_authority: "nonce_authority"
|
||||||
|
nonce_data: "nonce_data"
|
||||||
|
outputs:
|
||||||
|
transaction: "unsigned_transaction"
|
||||||
|
- type: "sol-sign"
|
||||||
|
inputs:
|
||||||
|
blockhash: "nonce_data"
|
||||||
|
transaction: "unsigned_transaction"
|
||||||
|
outputs:
|
||||||
|
transaction: "signed_transaction"
|
||||||
|
- type: "internal-save-file"
|
||||||
|
values:
|
||||||
|
filename: "transaction.json"
|
||||||
|
inputs:
|
||||||
|
transaction: "signed_transaction"
|
||||||
|
- name: "cosmos"
|
||||||
|
derivation_prefix: "m/44'/118'/0'"
|
||||||
|
algorithm: "Secp256k1"
|
||||||
|
workflow:
|
||||||
|
- name: "transfer"
|
||||||
|
inputs:
|
||||||
|
- "from_address"
|
||||||
|
- "to_address"
|
||||||
|
- "asset_name"
|
||||||
|
- "chain_name"
|
||||||
|
- "asset_amount"
|
||||||
|
step:
|
||||||
|
- type: "cosmos-get-chain-info"
|
||||||
|
inputs:
|
||||||
|
chain_name: "chain_name"
|
||||||
|
outputs:
|
||||||
|
blockchain_config: "blockchain_config"
|
||||||
|
- type: "internal-load-file"
|
||||||
|
values:
|
||||||
|
filename: "account_info.json"
|
||||||
|
outputs:
|
||||||
|
account_number: "account_number"
|
||||||
|
sequence_number: "sequence_number"
|
||||||
|
- type: "cosmos-transfer"
|
||||||
|
inputs:
|
||||||
|
from_address: "from_address"
|
||||||
|
to_address: "to_address"
|
||||||
|
amount: "asset_amount"
|
||||||
|
denom: "asset_name"
|
||||||
|
blockchain_config: "blockchain_config"
|
||||||
|
outputs:
|
||||||
|
fee: "fee"
|
||||||
|
tx_messages: "tx_messages"
|
||||||
|
- type: "cosmos-sign"
|
||||||
|
inputs:
|
||||||
|
fee: "fee"
|
||||||
|
tx_messages: "tx_messages"
|
||||||
|
account_number: "account_number"
|
||||||
|
sequence_number: "sequence_number"
|
||||||
|
blockchain_config: "blockchain_config"
|
||||||
|
outputs:
|
||||||
|
transaction: "signed_transaction"
|
||||||
|
- type: "internal-save-file"
|
||||||
|
values:
|
||||||
|
filename: "transaction.json"
|
||||||
|
inputs:
|
||||||
|
transaction: "signed_transaction"
|
||||||
|
- name: "broadcast"
|
||||||
|
inputs:
|
||||||
|
- "nonce_address"
|
||||||
|
- "chain_name"
|
||||||
|
step:
|
||||||
|
- type: "cosmos-get-chain-info"
|
||||||
|
inputs:
|
||||||
|
chain_name: "chain_name"
|
||||||
|
outputs:
|
||||||
|
blockchain_config: "blockchain_config"
|
||||||
|
- type: "cosmos-get-account-data"
|
||||||
|
inputs:
|
||||||
|
account_id: "nonce_address"
|
||||||
|
blockchain_config: "blockchain_config"
|
||||||
|
outputs:
|
||||||
|
account_number: "account_number"
|
||||||
|
sequence_number: "sequence_number"
|
||||||
|
- type: "internal-save-file"
|
||||||
|
values:
|
||||||
|
filename: "account_info.json"
|
||||||
|
inputs:
|
||||||
|
account_number: "account_number"
|
||||||
|
sequence_number: "sequence_number"
|
||||||
|
- type: "internal-load-file"
|
||||||
|
values:
|
||||||
|
filename: "transaction.json"
|
||||||
|
outputs:
|
||||||
|
transaction: "transaction"
|
||||||
|
- type: "cosmos-broadcast"
|
||||||
|
inputs:
|
||||||
|
blockchain_config: "blockchain_config"
|
||||||
|
transaction: "transaction"
|
||||||
|
outputs:
|
||||||
|
status: "status"
|
||||||
|
url: "url"
|
||||||
|
error: "error"
|
||||||
|
error_code: "error_code"
|
Loading…
Reference in New Issue