mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-07-03 13:39:38 +00:00
fix(idl): align LEZ account metadata
Mark unconditional signer, init, and mutable accounts in guest entrypoints. Regenerate IDL artifacts for token, ATA, stablecoin, TWAP oracle, and AMM.
This commit is contained in:
parent
e4447617f6
commit
66afb1850e
@ -7,9 +7,9 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "config",
|
"name": "config",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"args": [
|
"args": [
|
||||||
@ -32,14 +32,14 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "config",
|
"name": "config",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "authority",
|
"name": "authority",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -87,9 +87,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "price_observations",
|
"name": "price_observations",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clock",
|
"name": "clock",
|
||||||
@ -122,9 +122,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "oracle_price_account",
|
"name": "oracle_price_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clock",
|
"name": "clock",
|
||||||
@ -151,57 +151,57 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool",
|
"name": "pool",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_a",
|
"name": "vault_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_b",
|
"name": "vault_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool_definition_lp",
|
"name": "pool_definition_lp",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "lp_lock_holding",
|
"name": "lp_lock_holding",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_a",
|
"name": "user_holding_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_b",
|
"name": "user_holding_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_lp",
|
"name": "user_holding_lp",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "current_tick_account",
|
"name": "current_tick_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clock",
|
"name": "clock",
|
||||||
@ -240,49 +240,49 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool",
|
"name": "pool",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_a",
|
"name": "vault_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_b",
|
"name": "vault_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool_definition_lp",
|
"name": "pool_definition_lp",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_a",
|
"name": "user_holding_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_b",
|
"name": "user_holding_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_lp",
|
"name": "user_holding_lp",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "current_tick_account",
|
"name": "current_tick_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
@ -323,49 +323,49 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool",
|
"name": "pool",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_a",
|
"name": "vault_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_b",
|
"name": "vault_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool_definition_lp",
|
"name": "pool_definition_lp",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_a",
|
"name": "user_holding_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_b",
|
"name": "user_holding_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_lp",
|
"name": "user_holding_lp",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "current_tick_account",
|
"name": "current_tick_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
@ -406,37 +406,37 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool",
|
"name": "pool",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_a",
|
"name": "vault_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_b",
|
"name": "vault_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_a",
|
"name": "user_holding_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_b",
|
"name": "user_holding_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "current_tick_account",
|
"name": "current_tick_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
@ -477,37 +477,37 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool",
|
"name": "pool",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_a",
|
"name": "vault_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault_b",
|
"name": "vault_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_a",
|
"name": "user_holding_a",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_b",
|
"name": "user_holding_b",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "current_tick_account",
|
"name": "current_tick_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
@ -548,7 +548,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool",
|
"name": "pool",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
@ -566,7 +566,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "current_tick_account",
|
"name": "current_tick_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "owner",
|
"name": "owner",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
@ -19,7 +19,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ata_account",
|
"name": "ata_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
}
|
}
|
||||||
@ -37,18 +37,18 @@
|
|||||||
{
|
{
|
||||||
"name": "owner",
|
"name": "owner",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sender_ata",
|
"name": "sender_ata",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "recipient",
|
"name": "recipient",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
}
|
}
|
||||||
@ -70,18 +70,18 @@
|
|||||||
{
|
{
|
||||||
"name": "owner",
|
"name": "owner",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "holder_ata",
|
"name": "holder_ata",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "token_definition",
|
"name": "token_definition",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,25 +8,25 @@
|
|||||||
{
|
{
|
||||||
"name": "owner",
|
"name": "owner",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "position",
|
"name": "position",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault",
|
"name": "vault",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding",
|
"name": "user_holding",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -49,24 +49,24 @@
|
|||||||
{
|
{
|
||||||
"name": "owner",
|
"name": "owner",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "position",
|
"name": "position",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vault",
|
"name": "vault",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "destination",
|
"name": "destination",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
}
|
}
|
||||||
@ -84,25 +84,25 @@
|
|||||||
{
|
{
|
||||||
"name": "owner",
|
"name": "owner",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "position",
|
"name": "position",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stablecoin_definition",
|
"name": "stablecoin_definition",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_stablecoin_holding",
|
"name": "user_stablecoin_holding",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -7,13 +7,13 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "sender",
|
"name": "sender",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "recipient",
|
"name": "recipient",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
}
|
}
|
||||||
@ -30,15 +30,15 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "definition_target_account",
|
"name": "definition_target_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "holding_target_account",
|
"name": "holding_target_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"args": [
|
"args": [
|
||||||
@ -57,21 +57,21 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "definition_target_account",
|
"name": "definition_target_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "holding_target_account",
|
"name": "holding_target_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "metadata_target_account",
|
"name": "metadata_target_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"args": [
|
"args": [
|
||||||
@ -100,9 +100,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "account_to_initialize",
|
"name": "account_to_initialize",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"args": []
|
"args": []
|
||||||
@ -112,14 +112,14 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "definition_account",
|
"name": "definition_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_account",
|
"name": "user_holding_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -135,13 +135,13 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "definition_account",
|
"name": "definition_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "user_holding_account",
|
"name": "user_holding_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
}
|
}
|
||||||
@ -158,15 +158,15 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "master_account",
|
"name": "master_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "printed_account",
|
"name": "printed_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"args": []
|
"args": []
|
||||||
|
|||||||
@ -7,14 +7,14 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "price_observations",
|
"name": "price_observations",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "price_source",
|
"name": "price_source",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -40,14 +40,14 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "oracle_price_account",
|
"name": "oracle_price_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "price_source",
|
"name": "price_source",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -81,14 +81,14 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "current_tick_account",
|
"name": "current_tick_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "price_source",
|
"name": "price_source",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -116,7 +116,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "oracle_price_account",
|
"name": "oracle_price_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
@ -149,7 +149,7 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "price_observations",
|
"name": "price_observations",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
@ -182,14 +182,14 @@
|
|||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"name": "current_tick_account",
|
"name": "current_tick_account",
|
||||||
"writable": false,
|
"writable": true,
|
||||||
"signer": false,
|
"signer": false,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "price_source",
|
"name": "price_source",
|
||||||
"writable": false,
|
"writable": false,
|
||||||
"signer": false,
|
"signer": true,
|
||||||
"init": false
|
"init": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,4 +1,8 @@
|
|||||||
#![cfg_attr(not(test), no_main)]
|
#![cfg_attr(not(test), no_main)]
|
||||||
|
#![allow(
|
||||||
|
clippy::cloned_ref_to_slice_refs,
|
||||||
|
reason = "SPEL macro emits cloned validation slices for one-account instructions"
|
||||||
|
)]
|
||||||
|
|
||||||
use std::num::NonZeroU128;
|
use std::num::NonZeroU128;
|
||||||
|
|
||||||
@ -27,6 +31,7 @@ mod amm {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn initialize(
|
pub fn initialize(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(init)]
|
||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
token_program_id: ProgramId,
|
token_program_id: ProgramId,
|
||||||
twap_oracle_program_id: ProgramId,
|
twap_oracle_program_id: ProgramId,
|
||||||
@ -50,7 +55,9 @@ mod amm {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn update_config(
|
pub fn update_config(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(mut)]
|
||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
|
#[account(signer)]
|
||||||
authority: AccountWithMetadata,
|
authority: AccountWithMetadata,
|
||||||
token_program_id: Option<ProgramId>,
|
token_program_id: Option<ProgramId>,
|
||||||
twap_oracle_program_id: Option<ProgramId>,
|
twap_oracle_program_id: Option<ProgramId>,
|
||||||
@ -83,6 +90,7 @@ mod amm {
|
|||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
pool: AccountWithMetadata,
|
pool: AccountWithMetadata,
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
|
#[account(init)]
|
||||||
price_observations: AccountWithMetadata,
|
price_observations: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
window_duration: u64,
|
window_duration: u64,
|
||||||
@ -114,6 +122,7 @@ mod amm {
|
|||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
pool: AccountWithMetadata,
|
pool: AccountWithMetadata,
|
||||||
|
#[account(init)]
|
||||||
oracle_price_account: AccountWithMetadata,
|
oracle_price_account: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
window_duration: u64,
|
window_duration: u64,
|
||||||
@ -140,14 +149,23 @@ mod amm {
|
|||||||
pub fn new_definition(
|
pub fn new_definition(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
|
#[account(init)]
|
||||||
pool: AccountWithMetadata,
|
pool: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_a: AccountWithMetadata,
|
vault_a: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_b: AccountWithMetadata,
|
vault_b: AccountWithMetadata,
|
||||||
|
#[account(init)]
|
||||||
pool_definition_lp: AccountWithMetadata,
|
pool_definition_lp: AccountWithMetadata,
|
||||||
|
#[account(init)]
|
||||||
lp_lock_holding: AccountWithMetadata,
|
lp_lock_holding: AccountWithMetadata,
|
||||||
|
#[account(mut, signer)]
|
||||||
user_holding_a: AccountWithMetadata,
|
user_holding_a: AccountWithMetadata,
|
||||||
|
#[account(mut, signer)]
|
||||||
user_holding_b: AccountWithMetadata,
|
user_holding_b: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
user_holding_lp: AccountWithMetadata,
|
user_holding_lp: AccountWithMetadata,
|
||||||
|
#[account(init)]
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
token_a_amount: u128,
|
token_a_amount: u128,
|
||||||
@ -185,13 +203,21 @@ mod amm {
|
|||||||
pub fn add_liquidity(
|
pub fn add_liquidity(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
pool: AccountWithMetadata,
|
pool: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_a: AccountWithMetadata,
|
vault_a: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_b: AccountWithMetadata,
|
vault_b: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
pool_definition_lp: AccountWithMetadata,
|
pool_definition_lp: AccountWithMetadata,
|
||||||
|
#[account(mut, signer)]
|
||||||
user_holding_a: AccountWithMetadata,
|
user_holding_a: AccountWithMetadata,
|
||||||
|
#[account(mut, signer)]
|
||||||
user_holding_b: AccountWithMetadata,
|
user_holding_b: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
user_holding_lp: AccountWithMetadata,
|
user_holding_lp: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
min_amount_liquidity: u128,
|
min_amount_liquidity: u128,
|
||||||
@ -228,13 +254,21 @@ mod amm {
|
|||||||
pub fn remove_liquidity(
|
pub fn remove_liquidity(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
pool: AccountWithMetadata,
|
pool: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_a: AccountWithMetadata,
|
vault_a: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_b: AccountWithMetadata,
|
vault_b: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
pool_definition_lp: AccountWithMetadata,
|
pool_definition_lp: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
user_holding_a: AccountWithMetadata,
|
user_holding_a: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
user_holding_b: AccountWithMetadata,
|
user_holding_b: AccountWithMetadata,
|
||||||
|
#[account(mut, signer)]
|
||||||
user_holding_lp: AccountWithMetadata,
|
user_holding_lp: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
remove_liquidity_amount: u128,
|
remove_liquidity_amount: u128,
|
||||||
@ -272,11 +306,17 @@ mod amm {
|
|||||||
pub fn swap_exact_input(
|
pub fn swap_exact_input(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
pool: AccountWithMetadata,
|
pool: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_a: AccountWithMetadata,
|
vault_a: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_b: AccountWithMetadata,
|
vault_b: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
user_holding_a: AccountWithMetadata,
|
user_holding_a: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
user_holding_b: AccountWithMetadata,
|
user_holding_b: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
swap_amount_in: u128,
|
swap_amount_in: u128,
|
||||||
@ -311,11 +351,17 @@ mod amm {
|
|||||||
pub fn swap_exact_output(
|
pub fn swap_exact_output(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
pool: AccountWithMetadata,
|
pool: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_a: AccountWithMetadata,
|
vault_a: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault_b: AccountWithMetadata,
|
vault_b: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
user_holding_a: AccountWithMetadata,
|
user_holding_a: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
user_holding_b: AccountWithMetadata,
|
user_holding_b: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
exact_amount_out: u128,
|
exact_amount_out: u128,
|
||||||
@ -346,9 +392,14 @@ mod amm {
|
|||||||
pub fn sync_reserves(
|
pub fn sync_reserves(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
config: AccountWithMetadata,
|
config: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
pool: AccountWithMetadata,
|
pool: AccountWithMetadata,
|
||||||
|
// vault_a / vault_b are only read to compute balances in
|
||||||
|
// amm_program::sync::sync_reserves (their post-states are unchanged
|
||||||
|
// clones), so they are not writable — no `mut` metadata.
|
||||||
vault_a: AccountWithMetadata,
|
vault_a: AccountWithMetadata,
|
||||||
vault_b: AccountWithMetadata,
|
vault_b: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
) -> SpelResult {
|
) -> SpelResult {
|
||||||
|
|||||||
@ -22,8 +22,10 @@ mod ata {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn create(
|
pub fn create(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(mut)]
|
||||||
owner: AccountWithMetadata,
|
owner: AccountWithMetadata,
|
||||||
token_definition: AccountWithMetadata,
|
token_definition: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
ata_account: AccountWithMetadata,
|
ata_account: AccountWithMetadata,
|
||||||
token_program_id: ProgramId,
|
token_program_id: ProgramId,
|
||||||
) -> SpelResult {
|
) -> SpelResult {
|
||||||
@ -45,8 +47,11 @@ mod ata {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn transfer(
|
pub fn transfer(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(signer)]
|
||||||
owner: AccountWithMetadata,
|
owner: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
sender_ata: AccountWithMetadata,
|
sender_ata: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
recipient: AccountWithMetadata,
|
recipient: AccountWithMetadata,
|
||||||
token_program_id: ProgramId,
|
token_program_id: ProgramId,
|
||||||
amount: u128,
|
amount: u128,
|
||||||
@ -69,8 +74,11 @@ mod ata {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn burn(
|
pub fn burn(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(signer)]
|
||||||
owner: AccountWithMetadata,
|
owner: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
holder_ata: AccountWithMetadata,
|
holder_ata: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
token_definition: AccountWithMetadata,
|
token_definition: AccountWithMetadata,
|
||||||
token_program_id: ProgramId,
|
token_program_id: ProgramId,
|
||||||
amount: u128,
|
amount: u128,
|
||||||
|
|||||||
@ -20,9 +20,13 @@ mod stablecoin {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn open_position(
|
pub fn open_position(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(signer)]
|
||||||
owner: AccountWithMetadata,
|
owner: AccountWithMetadata,
|
||||||
|
#[account(init)]
|
||||||
position: AccountWithMetadata,
|
position: AccountWithMetadata,
|
||||||
|
#[account(init)]
|
||||||
vault: AccountWithMetadata,
|
vault: AccountWithMetadata,
|
||||||
|
#[account(mut, signer)]
|
||||||
user_holding: AccountWithMetadata,
|
user_holding: AccountWithMetadata,
|
||||||
token_definition: AccountWithMetadata,
|
token_definition: AccountWithMetadata,
|
||||||
collateral_amount: u128,
|
collateral_amount: u128,
|
||||||
@ -53,9 +57,13 @@ mod stablecoin {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn withdraw_collateral(
|
pub fn withdraw_collateral(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(signer)]
|
||||||
owner: AccountWithMetadata,
|
owner: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
position: AccountWithMetadata,
|
position: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
vault: AccountWithMetadata,
|
vault: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
destination: AccountWithMetadata,
|
destination: AccountWithMetadata,
|
||||||
amount: u128,
|
amount: u128,
|
||||||
) -> SpelResult {
|
) -> SpelResult {
|
||||||
@ -83,9 +91,13 @@ mod stablecoin {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn repay_debt(
|
pub fn repay_debt(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(signer)]
|
||||||
owner: AccountWithMetadata,
|
owner: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
position: AccountWithMetadata,
|
position: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
stablecoin_definition: AccountWithMetadata,
|
stablecoin_definition: AccountWithMetadata,
|
||||||
|
#[account(mut, signer)]
|
||||||
user_stablecoin_holding: AccountWithMetadata,
|
user_stablecoin_holding: AccountWithMetadata,
|
||||||
amount: u128,
|
amount: u128,
|
||||||
) -> SpelResult {
|
) -> SpelResult {
|
||||||
|
|||||||
@ -19,7 +19,9 @@ mod token {
|
|||||||
/// Fresh public recipients must be explicitly authorized in the same transaction.
|
/// Fresh public recipients must be explicitly authorized in the same transaction.
|
||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn transfer(
|
pub fn transfer(
|
||||||
|
#[account(mut, signer)]
|
||||||
sender: AccountWithMetadata,
|
sender: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
recipient: AccountWithMetadata,
|
recipient: AccountWithMetadata,
|
||||||
amount_to_transfer: u128,
|
amount_to_transfer: u128,
|
||||||
) -> SpelResult {
|
) -> SpelResult {
|
||||||
@ -34,7 +36,9 @@ mod token {
|
|||||||
/// Definition and holding targets must be uninitialized and authorized.
|
/// Definition and holding targets must be uninitialized and authorized.
|
||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn new_fungible_definition(
|
pub fn new_fungible_definition(
|
||||||
|
#[account(init, signer)]
|
||||||
definition_target_account: AccountWithMetadata,
|
definition_target_account: AccountWithMetadata,
|
||||||
|
#[account(init, signer)]
|
||||||
holding_target_account: AccountWithMetadata,
|
holding_target_account: AccountWithMetadata,
|
||||||
name: String,
|
name: String,
|
||||||
total_supply: u128,
|
total_supply: u128,
|
||||||
@ -58,8 +62,11 @@ mod token {
|
|||||||
)]
|
)]
|
||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn new_definition_with_metadata(
|
pub fn new_definition_with_metadata(
|
||||||
|
#[account(init, signer)]
|
||||||
definition_target_account: AccountWithMetadata,
|
definition_target_account: AccountWithMetadata,
|
||||||
|
#[account(init, signer)]
|
||||||
holding_target_account: AccountWithMetadata,
|
holding_target_account: AccountWithMetadata,
|
||||||
|
#[account(init, signer)]
|
||||||
metadata_target_account: AccountWithMetadata,
|
metadata_target_account: AccountWithMetadata,
|
||||||
new_definition: token_core::NewTokenDefinition,
|
new_definition: token_core::NewTokenDefinition,
|
||||||
metadata: Box<token_core::NewTokenMetadata>,
|
metadata: Box<token_core::NewTokenMetadata>,
|
||||||
@ -82,6 +89,7 @@ mod token {
|
|||||||
pub fn initialize_account(
|
pub fn initialize_account(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
definition_account: AccountWithMetadata,
|
definition_account: AccountWithMetadata,
|
||||||
|
#[account(init, signer)]
|
||||||
account_to_initialize: AccountWithMetadata,
|
account_to_initialize: AccountWithMetadata,
|
||||||
) -> SpelResult {
|
) -> SpelResult {
|
||||||
Ok(spel_framework::SpelOutput::execute(
|
Ok(spel_framework::SpelOutput::execute(
|
||||||
@ -97,7 +105,9 @@ mod token {
|
|||||||
/// Burn tokens from the holder's account.
|
/// Burn tokens from the holder's account.
|
||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn burn(
|
pub fn burn(
|
||||||
|
#[account(mut)]
|
||||||
definition_account: AccountWithMetadata,
|
definition_account: AccountWithMetadata,
|
||||||
|
#[account(mut, signer)]
|
||||||
user_holding_account: AccountWithMetadata,
|
user_holding_account: AccountWithMetadata,
|
||||||
amount_to_burn: u128,
|
amount_to_burn: u128,
|
||||||
) -> SpelResult {
|
) -> SpelResult {
|
||||||
@ -113,7 +123,9 @@ mod token {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn mint(
|
pub fn mint(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(mut, signer)]
|
||||||
definition_account: AccountWithMetadata,
|
definition_account: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
user_holding_account: AccountWithMetadata,
|
user_holding_account: AccountWithMetadata,
|
||||||
amount_to_mint: u128,
|
amount_to_mint: u128,
|
||||||
) -> SpelResult {
|
) -> SpelResult {
|
||||||
@ -129,7 +141,9 @@ mod token {
|
|||||||
/// The printed copy target must be uninitialized and authorized.
|
/// The printed copy target must be uninitialized and authorized.
|
||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn print_nft(
|
pub fn print_nft(
|
||||||
|
#[account(mut, signer)]
|
||||||
master_account: AccountWithMetadata,
|
master_account: AccountWithMetadata,
|
||||||
|
#[account(init, signer)]
|
||||||
printed_account: AccountWithMetadata,
|
printed_account: AccountWithMetadata,
|
||||||
) -> SpelResult {
|
) -> SpelResult {
|
||||||
Ok(spel_framework::SpelOutput::execute(token_program::print_nft::print_nft(
|
Ok(spel_framework::SpelOutput::execute(token_program::print_nft::print_nft(
|
||||||
|
|||||||
@ -22,7 +22,9 @@ mod twap_oracle {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn create_price_observations(
|
pub fn create_price_observations(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(init)]
|
||||||
price_observations: AccountWithMetadata,
|
price_observations: AccountWithMetadata,
|
||||||
|
#[account(signer)]
|
||||||
price_source: AccountWithMetadata,
|
price_source: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
initial_tick: i32,
|
initial_tick: i32,
|
||||||
@ -56,7 +58,9 @@ mod twap_oracle {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn create_oracle_price_account(
|
pub fn create_oracle_price_account(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(init)]
|
||||||
oracle_price_account: AccountWithMetadata,
|
oracle_price_account: AccountWithMetadata,
|
||||||
|
#[account(signer)]
|
||||||
price_source: AccountWithMetadata,
|
price_source: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
base_asset: AccountId,
|
base_asset: AccountId,
|
||||||
@ -89,7 +93,9 @@ mod twap_oracle {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn create_current_tick_account(
|
pub fn create_current_tick_account(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(init)]
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
|
#[account(signer)]
|
||||||
price_source: AccountWithMetadata,
|
price_source: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
initial_price: u128,
|
initial_price: u128,
|
||||||
@ -118,6 +124,7 @@ mod twap_oracle {
|
|||||||
pub fn publish_price(
|
pub fn publish_price(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
price_observations: AccountWithMetadata,
|
price_observations: AccountWithMetadata,
|
||||||
|
#[account(mut)]
|
||||||
oracle_price_account: AccountWithMetadata,
|
oracle_price_account: AccountWithMetadata,
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
@ -145,6 +152,7 @@ mod twap_oracle {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn record_tick(
|
pub fn record_tick(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(mut)]
|
||||||
price_observations: AccountWithMetadata,
|
price_observations: AccountWithMetadata,
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
@ -173,7 +181,9 @@ mod twap_oracle {
|
|||||||
#[instruction]
|
#[instruction]
|
||||||
pub fn update_current_tick(
|
pub fn update_current_tick(
|
||||||
ctx: ProgramContext,
|
ctx: ProgramContext,
|
||||||
|
#[account(mut)]
|
||||||
current_tick_account: AccountWithMetadata,
|
current_tick_account: AccountWithMetadata,
|
||||||
|
#[account(signer)]
|
||||||
price_source: AccountWithMetadata,
|
price_source: AccountWithMetadata,
|
||||||
clock: AccountWithMetadata,
|
clock: AccountWithMetadata,
|
||||||
price: u128,
|
price: u128,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user