diff --git a/contract/market/examples/config/v1/liqtest-ixlm-ixlmusdc-1.v1.tmplr.near.json b/contract/market/examples/config/v1/liqtest-ixlm-ixlmusdc-1.v1.tmplr.near.json new file mode 100644 index 00000000..13e07f51 --- /dev/null +++ b/contract/market/examples/config/v1/liqtest-ixlm-ixlmusdc-1.v1.tmplr.near.json @@ -0,0 +1,63 @@ +{ + "time_chunk_configuration": { + "duration_ms": "600000" + }, + "borrow_asset": { + "Nep245": { + "contract_id": "intents.near", + "token_id": "nep245:v2_1.omni.hot.tg:1100_111bzQBB65GxAPAVoxqmMcgYo5oS3txhqs1Uh1cgahKQUeTUq1TJu" + } + }, + "collateral_asset": { + "Nep245": { + "contract_id": "intents.near", + "token_id": "nep245:v2_1.omni.hot.tg:1100_111bzQBB5v7AhLyPMDwS8uJgQV24KaAPXtwyVWu2KXbbfQU6NXRCz" + } + }, + "price_oracle_configuration": { + "account_id": "pyth-oracle.near", + "collateral_asset_price_id": "b7a8eba68a997cd0210c2e1e4ee811ad2d174b3611c22d9ebf16f4cb7e9ba850", + "collateral_asset_decimals": 7, + "borrow_asset_price_id": "eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a", + "borrow_asset_decimals": 7, + "price_maximum_age_s": 60 + }, + "borrow_mcr_maintenance": "1.33333333333333333333333333333333333334", + "borrow_mcr_liquidation": "1.33333333333333333333333333333333333334", + "borrow_asset_maximum_usage_ratio": "0.99", + "borrow_origination_fee": { "Flat": "0" }, + "borrow_interest_rate_strategy": { + "Piecewise": { + "base": "0", + "optimal": "0.9", + "rate_1": "0.08888888888888888888888888888888888889", + "rate_2": "2.4" + } + }, + "borrow_maximum_duration_ms": null, + "borrow_range": { + "minimum": "1", + "maximum": null + }, + "supply_range": { + "minimum": "400000", + "maximum": null + }, + "supply_withdrawal_range": { + "minimum": "400000", + "maximum": null + }, + "supply_withdrawal_fee": { + "fee": { + "Flat": "0" + }, + "duration": "0", + "behavior": "Fixed" + }, + "yield_weights": { + "supply": 4, + "static": { "revenue.tmplr.near": 1 } + }, + "protocol_account_id": "revenue.tmplr.near", + "liquidation_maximum_spread": "0.1" +} diff --git a/script/ci/add-version-to-registry.sh b/script/ci/add-version-to-registry.sh index d0acdb42..315b1608 100755 --- a/script/ci/add-version-to-registry.sh +++ b/script/ci/add-version-to-registry.sh @@ -23,7 +23,7 @@ echo "Generating Borsh arguments" ARGS_FILE=$(mktemp "/tmp/args-XXXXXX") trap "rm -f $ARGS_FILE" EXIT -cargo run --package test-utils --example registry_add_version_args -- "${VERSION_KEY}" "${DEPLOY_MODE}" > $ARGS_FILE +cargo run --package test-utils --example registry_add_version_args -- templar_market_contract "${VERSION_KEY}" "${DEPLOY_MODE}" > $ARGS_FILE echo "Creating new version on registry" diff --git a/script/ci/v1.0.0/add-version-to-registry.sh b/script/ci/v1.0.0/add-version-to-registry.sh new file mode 100755 index 00000000..b227e20f --- /dev/null +++ b/script/ci/v1.0.0/add-version-to-registry.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +set -e + +SCRIPT_DIR=$(dirname "$(readlink -f ${BASH_SOURCE[0]})") + +source "$SCRIPT_DIR/../utils.sh" + +parse_args "--account:ACCOUNT_ID,--registry:REGISTRY_ID,--version-key:VERSION_KEY,--network:NETWORK,--private-key:PRIVATE_KEY" "$@" + +if [ -z "$NETWORK" ]; then + NETWORK="testnet" +fi + +cd "${SCRIPT_DIR}/../../../contract/market" + +echo "Building market" + +cargo near build reproducible-wasm + +echo "Generating Borsh arguments" + +ARGS_FILE=$(mktemp "/tmp/args-XXXXXX") +trap "rm -f $ARGS_FILE" EXIT + +cargo run --package test-utils --example registry_add_version_args -- templar_market_contract "${VERSION_KEY}" > $ARGS_FILE + + +echo "Creating new version on registry" + +near contract call-function as-transaction "${REGISTRY_ID}" \ + add_version \ + file-args "${ARGS_FILE}" \ + prepaid-gas '300.0 Tgas' \ + attached-deposit '1 yoctoNEAR' \ + sign-as "${ACCOUNT_ID}" \ + network-config "${NETWORK}" \ + sign-with-plaintext-private-key "${PRIVATE_KEY}" \ + send + + +echo "Done" diff --git a/script/ci/alpha/deploy-market-from-registry.sh b/script/ci/v1.0.0/deploy-market-from-registry.sh similarity index 100% rename from script/ci/alpha/deploy-market-from-registry.sh rename to script/ci/v1.0.0/deploy-market-from-registry.sh diff --git a/test-utils/examples/registry_add_version_args.rs b/test-utils/examples/registry_add_version_args.rs index aba93f99..61497d98 100644 --- a/test-utils/examples/registry_add_version_args.rs +++ b/test-utils/examples/registry_add_version_args.rs @@ -3,7 +3,8 @@ use std::{fs, path::Path}; use templar_common::registry::DeployMode; pub fn main() { - let name = "templar_market_contract"; + let cliargs = std::env::args().collect::>(); + let name = &cliargs[1]; let path = Path::new(env!("CARGO_WORKSPACE_DIR")) .join("target/near/") @@ -12,14 +13,23 @@ pub fn main() { let wasm = fs::read(path).unwrap(); - let args = std::env::args().collect::>(); - let version_key = args[1].clone(); - let mode = match args[2].as_str() { - "normal" => DeployMode::Normal, - "global_hash" => DeployMode::GlobalHash, - _ => panic!("Must specify mode: (normal|global_hash)"), - }; + match &cliargs[2..] { + [version_key] => { + let args = (version_key, wasm); + near_sdk::borsh::to_writer(std::io::stdout(), &args).unwrap(); + } + [version_key, mode] => { + let mode = match mode.as_str() { + "normal" => DeployMode::Normal, + "global_hash" => DeployMode::GlobalHash, + _ => panic!("Must specify mode: (normal|global_hash)"), + }; - let args = (version_key, mode, wasm); - near_sdk::borsh::to_writer(std::io::stdout(), &args).unwrap(); + let args = (version_key, mode, wasm); + near_sdk::borsh::to_writer(std::io::stdout(), &args).unwrap(); + } + _ => { + panic!("Expects 2 or 3 arguments"); + } + } }