diff --git a/idl/data_credits.json b/idl/data_credits.json index f279585..5ddd4e7 100644 --- a/idl/data_credits.json +++ b/idl/data_credits.json @@ -1,1007 +1,1888 @@ { - "version": "0.2.3", - "name": "data_credits", + "address": "credMBJhYFzfn7NxBMdU4aUqFggAjgztaCcv2Fo6fPT", + "metadata": { + "name": "data_credits", + "version": "0.2.6", + "spec": "0.1.0", + "description": "Created with Anchor" + }, "instructions": [ { - "name": "initializeDataCreditsV0", + "name": "burn_delegated_data_credits_v0", + "discriminator": [ + 146, + 35, + 254, + 252, + 34, + 204, + 221, + 133 + ], "accounts": [ { - "name": "dataCredits", - "isMut": true, - "isSigner": false, + "name": "sub_dao_epoch_info", + "writable": true + }, + { + "name": "sub_dao", + "writable": true, + "relations": [ + "delegated_data_credits" + ] + }, + { + "name": "dc_burn_authority", + "signer": true, + "relations": [ + "sub_dao" + ] + }, + { + "name": "registrar", + "relations": [ + "dao" + ] + }, + { + "name": "dao", + "relations": [ + "sub_dao" + ] + }, + { + "name": "dc_mint", + "writable": true, + "relations": [ + "dao", + "data_credits" + ] + }, + { + "name": "account_payer", + "writable": true, "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "dc" - }, - { - "kind": "account", - "type": "publicKey", - "account": "Mint", - "path": "dc_mint" + "value": [ + 97, + 99, + 99, + 111, + 117, + 110, + 116, + 95, + 112, + 97, + 121, + 101, + 114 + ] } ] } }, { - "name": "hntPriceOracle", - "isMut": false, - "isSigner": false - }, - { - "name": "hntMint", - "isMut": false, - "isSigner": false - }, - { - "name": "circuitBreaker", - "isMut": true, - "isSigner": false, + "name": "data_credits", "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "mint_windowed_breaker" + "value": [ + 100, + 99 + ] }, { "kind": "account", - "type": "publicKey", - "account": "Mint", "path": "dc_mint" } - ], - "programId": { - "kind": "account", - "type": "publicKey", - "path": "circuit_breaker_program" - } - } - }, - { - "name": "dcMint", - "isMut": true, - "isSigner": false + ] + }, + "relations": [ + "delegated_data_credits" + ] }, { - "name": "mintAuthority", - "isMut": false, - "isSigner": true + "name": "delegated_data_credits" }, { - "name": "freezeAuthority", - "isMut": false, - "isSigner": true + "name": "escrow_account", + "writable": true, + "relations": [ + "delegated_data_credits" + ] }, { - "name": "accountPayer", - "isMut": true, - "isSigner": false, - "pda": { - "seeds": [ - { - "kind": "const", - "type": "string", - "value": "account_payer" - } - ] - } + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { - "name": "payer", - "isMut": true, - "isSigner": true + "name": "helium_sub_daos_program", + "address": "hdaoVTCqhfHHo75XdAMxBKdUqvq1i5bF23sisBqVgGR" }, { - "name": "circuitBreakerProgram", - "isMut": false, - "isSigner": false - }, + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [ { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, + "name": "args", + "type": { + "defined": { + "name": "BurnDelegatedDataCreditsArgsV0" + } + } + } + ] + }, + { + "name": "burn_without_tracking_v0", + "discriminator": [ + 129, + 106, + 43, + 4, + 52, + 143, + 102, + 208 + ], + "accounts": [ { - "name": "systemProgram", - "isMut": false, - "isSigner": false + "name": "burn_accounts", + "accounts": [ + { + "name": "data_credits", + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 100, + 99 + ] + }, + { + "kind": "account", + "path": "dc_mint" + } + ] + } + }, + { + "name": "burner", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "owner" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "dc_mint" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } + }, + { + "name": "owner", + "writable": true, + "signer": true + }, + { + "name": "dc_mint", + "writable": true, + "relations": [ + "data_credits" + ] + }, + { + "name": "associated_token_program", + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ] } ], "args": [ { "name": "args", "type": { - "defined": "InitializeDataCreditsArgsV0" + "defined": { + "name": "BurnWithoutTrackingArgsV0" + } } } ] }, { - "name": "mintDataCreditsV0", + "name": "change_delegated_sub_dao_v0", + "discriminator": [ + 51, + 182, + 243, + 36, + 107, + 242, + 176, + 178 + ], "accounts": [ { - "name": "dataCredits", - "isMut": false, - "isSigner": false, + "name": "payer", + "writable": true, + "signer": true + }, + { + "name": "authority", + "signer": true, + "relations": [ + "dao" + ] + }, + { + "name": "delegated_data_credits" + }, + { + "name": "destination_delegated_data_credits", + "writable": true + }, + { + "name": "data_credits", "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "dc" + "value": [ + 100, + 99 + ] }, { "kind": "account", - "type": "publicKey", - "account": "Mint", "path": "dc_mint" } ] - }, - "relations": [ - "hnt_mint", - "dc_mint", - "hnt_price_oracle" - ] - }, - { - "name": "hntPriceOracle", - "isMut": false, - "isSigner": false + } }, { - "name": "burner", - "isMut": true, - "isSigner": false, + "name": "dc_mint", "relations": [ - "owner" + "dao" ] }, { - "name": "recipientTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "recipient", - "isMut": false, - "isSigner": false - }, - { - "name": "owner", - "isMut": true, - "isSigner": true + "name": "dao", + "relations": [ + "sub_dao", + "destination_sub_dao" + ] }, { - "name": "hntMint", - "isMut": true, - "isSigner": false + "name": "sub_dao" }, { - "name": "dcMint", - "isMut": true, - "isSigner": false + "name": "destination_sub_dao" }, { - "name": "circuitBreaker", - "isMut": true, - "isSigner": false, + "name": "escrow_account", + "writable": true, "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "mint_windowed_breaker" + "value": [ + 101, + 115, + 99, + 114, + 111, + 119, + 95, + 100, + 99, + 95, + 97, + 99, + 99, + 111, + 117, + 110, + 116 + ] }, { "kind": "account", - "type": "publicKey", - "account": "Mint", - "path": "dc_mint" + "path": "delegated_data_credits" } - ], - "programId": { - "kind": "account", - "type": "publicKey", - "path": "circuit_breaker_program" - } + ] } }, { - "name": "circuitBreakerProgram", - "isMut": false, - "isSigner": false + "name": "destination_escrow_account", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 101, + 115, + 99, + 114, + 111, + 119, + 95, + 100, + 99, + 95, + 97, + 99, + 99, + 111, + 117, + 110, + 116 + ] + }, + { + "kind": "account", + "path": "destination_delegated_data_credits" + } + ] + } }, { - "name": "tokenProgram", - "isMut": false, - "isSigner": false + "name": "associated_token_program", + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { - "name": "systemProgram", - "isMut": false, - "isSigner": false + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false + "name": "system_program", + "address": "11111111111111111111111111111111" } ], "args": [ { "name": "args", "type": { - "defined": "MintDataCreditsArgsV0" + "defined": { + "name": "ChangeDelegatedSubDaoArgsV0" + } } } ] }, { - "name": "issueDataCreditsV0", + "name": "delegate_data_credits_v0", + "discriminator": [ + 154, + 56, + 226, + 128, + 162, + 115, + 226, + 5 + ], "accounts": [ { - "name": "dataCredits", - "isMut": false, - "isSigner": false, + "name": "delegated_data_credits", + "writable": true + }, + { + "name": "data_credits", "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "dc" + "value": [ + 100, + 99 + ] }, { "kind": "account", - "type": "publicKey", - "account": "Mint", "path": "dc_mint" } ] - }, + } + }, + { + "name": "dc_mint", + "relations": [ + "dao" + ] + }, + { + "name": "dao", "relations": [ - "dc_mint" + "sub_dao" ] }, { - "name": "dcMint", - "isMut": true, - "isSigner": false + "name": "sub_dao" }, { - "name": "to", - "isMut": false, - "isSigner": false + "name": "owner", + "signer": true }, { - "name": "from", - "isMut": true, - "isSigner": true + "name": "from_account", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "owner" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "dc_mint" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } }, { - "name": "fromAccount", - "isMut": true, - "isSigner": false + "name": "escrow_account", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 101, + 115, + 99, + 114, + 111, + 119, + 95, + 100, + 99, + 95, + 97, + 99, + 99, + 111, + 117, + 110, + 116 + ] + }, + { + "kind": "account", + "path": "delegated_data_credits" + } + ] + } }, { - "name": "toAccount", - "isMut": true, - "isSigner": false + "name": "payer", + "writable": true, + "signer": true }, { - "name": "tokenProgram", - "isMut": false, - "isSigner": false + "name": "associated_token_program", + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { - "name": "systemProgram", - "isMut": false, - "isSigner": false + "name": "system_program", + "address": "11111111111111111111111111111111" } ], "args": [ { "name": "args", "type": { - "defined": "IssueDataCreditsArgsV0" + "defined": { + "name": "DelegateDataCreditsArgsV0" + } } } ] }, { - "name": "genesisIssueDelegatedDataCreditsV0", + "name": "genesis_issue_delegated_data_credits_v0", + "discriminator": [ + 38, + 204, + 9, + 101, + 9, + 206, + 106, + 184 + ], "accounts": [ { - "name": "delegatedDataCredits", - "isMut": true, - "isSigner": false + "name": "delegated_data_credits", + "writable": true }, { - "name": "dataCredits", - "isMut": false, - "isSigner": false, + "name": "data_credits", "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "dc" + "value": [ + 100, + 99 + ] }, { "kind": "account", - "type": "publicKey", - "account": "Mint", "path": "dc_mint" } ] - }, - "relations": [ - "dc_mint" - ] + } }, { - "name": "lazySigner", - "isMut": true, - "isSigner": true, + "name": "lazy_signer", + "writable": true, + "signer": true, "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "lazy_signer" + "value": [ + 108, + 97, + 122, + 121, + 95, + 115, + 105, + 103, + 110, + 101, + 114 + ] }, { "kind": "const", - "type": "string", - "value": "nJWGUMOK" + "value": [ + 110, + 74, + 87, + 71, + 85, + 77, + 79, + 75 + ] } - ] + ], + "program": { + "kind": "const", + "value": [ + 0, + 38, + 82, + 253, + 210, + 146, + 75, + 177, + 69, + 157, + 110, + 117, + 99, + 0, + 230, + 210, + 160, + 253, + 165, + 230, + 118, + 139, + 65, + 190, + 90, + 132, + 147, + 67, + 144, + 183, + 205, + 218 + ] + } } }, { - "name": "dcMint", - "isMut": true, - "isSigner": false + "name": "dc_mint", + "writable": true, + "relations": [ + "data_credits", + "dao" + ] }, { - "name": "circuitBreaker", - "isMut": true, - "isSigner": false, + "name": "circuit_breaker", + "writable": true, "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "mint_windowed_breaker" + "value": [ + 109, + 105, + 110, + 116, + 95, + 119, + 105, + 110, + 100, + 111, + 119, + 101, + 100, + 95, + 98, + 114, + 101, + 97, + 107, + 101, + 114 + ] }, { "kind": "account", - "type": "publicKey", - "account": "Mint", "path": "dc_mint" } ], - "programId": { + "program": { "kind": "account", - "type": "publicKey", "path": "circuit_breaker_program" } } }, { - "name": "circuitBreakerProgram", - "isMut": false, - "isSigner": false + "name": "circuit_breaker_program", + "address": "circAbx64bbsscPbQzZAUvuXpHqrCe6fLMzc2uKXz9g" }, { "name": "dao", - "isMut": false, - "isSigner": false, "relations": [ - "dc_mint" + "sub_dao" ] }, { - "name": "subDao", - "isMut": false, - "isSigner": false, - "relations": [ - "dao" - ] + "name": "sub_dao" }, { - "name": "escrowAccount", - "isMut": true, - "isSigner": false, + "name": "escrow_account", + "writable": true, "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "escrow_dc_account" + "value": [ + 101, + 115, + 99, + 114, + 111, + 119, + 95, + 100, + 99, + 95, + 97, + 99, + 99, + 111, + 117, + 110, + 116 + ] }, { "kind": "account", - "type": "publicKey", - "account": "DelegatedDataCreditsV0", "path": "delegated_data_credits" } ] } }, { - "name": "tokenProgram", - "isMut": false, - "isSigner": false + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { - "name": "systemProgram", - "isMut": false, - "isSigner": false + "name": "system_program", + "address": "11111111111111111111111111111111" } ], "args": [ { "name": "args", "type": { - "defined": "GenesisIssueDelegatedDataCreditsArgsV0" + "defined": { + "name": "GenesisIssueDelegatedDataCreditsArgsV0" + } } } ] }, { - "name": "burnDelegatedDataCreditsV0", + "name": "initialize_data_credits_v0", + "discriminator": [ + 23, + 193, + 115, + 202, + 220, + 157, + 68, + 152 + ], "accounts": [ { - "name": "subDaoEpochInfo", - "isMut": true, - "isSigner": false + "name": "data_credits", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 100, + 99 + ] + }, + { + "kind": "account", + "path": "dc_mint" + } + ] + } }, { - "name": "subDao", - "isMut": true, - "isSigner": false, - "relations": [ - "dao", - "dc_burn_authority" - ] + "name": "hnt_mint" }, { - "name": "dcBurnAuthority", - "isMut": false, - "isSigner": true + "name": "circuit_breaker", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [ + 109, + 105, + 110, + 116, + 95, + 119, + 105, + 110, + 100, + 111, + 119, + 101, + 100, + 95, + 98, + 114, + 101, + 97, + 107, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "dc_mint" + } + ], + "program": { + "kind": "account", + "path": "circuit_breaker_program" + } + } }, { - "name": "registrar", - "isMut": false, - "isSigner": false + "name": "dc_mint", + "writable": true }, { - "name": "dao", - "isMut": false, - "isSigner": false, - "relations": [ - "dc_mint", - "registrar" - ] + "name": "mint_authority", + "signer": true }, { - "name": "dcMint", - "isMut": true, - "isSigner": false + "name": "freeze_authority", + "signer": true }, { - "name": "accountPayer", - "isMut": true, - "isSigner": false, + "name": "account_payer", + "writable": true, "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "account_payer" + "value": [ + 97, + 99, + 99, + 111, + 117, + 110, + 116, + 95, + 112, + 97, + 121, + 101, + 114 + ] } ] } }, { - "name": "dataCredits", - "isMut": false, - "isSigner": false, - "pda": { - "seeds": [ - { - "kind": "const", - "type": "string", - "value": "dc" - }, - { - "kind": "account", - "type": "publicKey", - "account": "Mint", - "path": "dc_mint" - } - ] - }, - "relations": [ - "dc_mint" - ] - }, - { - "name": "delegatedDataCredits", - "isMut": false, - "isSigner": false, - "relations": [ - "escrow_account", - "sub_dao", - "data_credits" - ] - }, - { - "name": "escrowAccount", - "isMut": true, - "isSigner": false + "name": "payer", + "writable": true, + "signer": true }, { - "name": "tokenProgram", - "isMut": false, - "isSigner": false + "name": "circuit_breaker_program", + "address": "circAbx64bbsscPbQzZAUvuXpHqrCe6fLMzc2uKXz9g" }, { - "name": "heliumSubDaosProgram", - "isMut": false, - "isSigner": false + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { - "name": "systemProgram", - "isMut": false, - "isSigner": false + "name": "system_program", + "address": "11111111111111111111111111111111" } ], "args": [ { "name": "args", "type": { - "defined": "BurnDelegatedDataCreditsArgsV0" - } - } - ] - }, - { - "name": "burnWithoutTrackingV0", - "accounts": [ - { - "name": "burnAccounts", - "accounts": [ - { - "name": "dataCredits", - "isMut": false, - "isSigner": false, - "pda": { - "seeds": [ - { - "kind": "const", - "type": "string", - "value": "dc" - }, - { - "kind": "account", - "type": "publicKey", - "account": "Mint", - "path": "dc_mint" - } - ] - }, - "relations": [ - "dc_mint" - ] - }, - { - "name": "burner", - "isMut": true, - "isSigner": false - }, - { - "name": "owner", - "isMut": true, - "isSigner": true - }, - { - "name": "dcMint", - "isMut": true, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false + "defined": { + "name": "InitializeDataCreditsArgsV0" } - ] - } - ], - "args": [ - { - "name": "args", - "type": { - "defined": "BurnWithoutTrackingArgsV0" } } ] }, { - "name": "delegateDataCreditsV0", + "name": "issue_data_credits_v0", + "discriminator": [ + 8, + 173, + 42, + 61, + 157, + 88, + 53, + 182 + ], "accounts": [ { - "name": "delegatedDataCredits", - "isMut": true, - "isSigner": false - }, - { - "name": "dataCredits", - "isMut": false, - "isSigner": false, + "name": "data_credits", "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "dc" + "value": [ + 100, + 99 + ] }, { "kind": "account", - "type": "publicKey", - "account": "Mint", "path": "dc_mint" } ] - }, - "relations": [ - "dc_mint" - ] - }, - { - "name": "dcMint", - "isMut": false, - "isSigner": false - }, - { - "name": "dao", - "isMut": false, - "isSigner": false, - "relations": [ - "dc_mint" - ] + } }, { - "name": "subDao", - "isMut": false, - "isSigner": false, + "name": "dc_mint", + "writable": true, "relations": [ - "dao" + "data_credits" ] }, { - "name": "owner", - "isMut": false, - "isSigner": true + "name": "to" }, { - "name": "fromAccount", - "isMut": true, - "isSigner": false + "name": "from", + "writable": true, + "signer": true }, { - "name": "escrowAccount", - "isMut": true, - "isSigner": false, + "name": "from_account", + "writable": true, "pda": { "seeds": [ + { + "kind": "account", + "path": "from" + }, { "kind": "const", - "type": "string", - "value": "escrow_dc_account" + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] }, { "kind": "account", - "type": "publicKey", - "account": "DelegatedDataCreditsV0", - "path": "delegated_data_credits" + "path": "dc_mint" } - ] + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } } }, { - "name": "payer", - "isMut": true, - "isSigner": true + "name": "to_account", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "to" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "dc_mint" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } }, { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { - "name": "tokenProgram", - "isMut": false, - "isSigner": false + "name": "associated_token_program", + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { - "name": "systemProgram", - "isMut": false, - "isSigner": false + "name": "system_program", + "address": "11111111111111111111111111111111" } ], "args": [ { "name": "args", "type": { - "defined": "DelegateDataCreditsArgsV0" + "defined": { + "name": "IssueDataCreditsArgsV0" + } } } ] }, { - "name": "updateDataCreditsV0", + "name": "mint_data_credits_v0", + "discriminator": [ + 78, + 109, + 169, + 132, + 144, + 94, + 221, + 57 + ], "accounts": [ { - "name": "dataCredits", - "isMut": true, - "isSigner": false, + "name": "data_credits", "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "dc" + "value": [ + 100, + 99 + ] }, { "kind": "account", - "type": "publicKey", - "account": "Mint", "path": "dc_mint" } ] - }, - "relations": [ - "authority" - ] - }, - { - "name": "dcMint", - "isMut": false, - "isSigner": false - }, - { - "name": "authority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "args", - "type": { - "defined": "UpdateDataCreditsArgsV0" } - } - ] - }, - { - "name": "changeDelegatedSubDaoV0", - "accounts": [ - { - "name": "payer", - "isMut": true, - "isSigner": true }, { - "name": "authority", - "isMut": false, - "isSigner": true - }, - { - "name": "delegatedDataCredits", - "isMut": false, - "isSigner": false + "name": "hnt_price_oracle" }, { - "name": "destinationDelegatedDataCredits", - "isMut": true, - "isSigner": false + "name": "burner", + "writable": true }, { - "name": "dataCredits", - "isMut": false, - "isSigner": false, + "name": "recipient_token_account", + "writable": true, "pda": { "seeds": [ + { + "kind": "account", + "path": "recipient" + }, { "kind": "const", - "type": "string", - "value": "dc" + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] }, { "kind": "account", - "type": "publicKey", - "account": "Mint", "path": "dc_mint" } - ] - }, - "relations": [ - "dc_mint" - ] + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } }, { - "name": "dcMint", - "isMut": false, - "isSigner": false + "name": "recipient" }, { - "name": "dao", - "isMut": false, - "isSigner": false, + "name": "owner", + "writable": true, + "signer": true, "relations": [ - "dc_mint", - "authority" + "burner" ] }, { - "name": "subDao", - "isMut": false, - "isSigner": false, + "name": "hnt_mint", + "writable": true, "relations": [ - "dao" + "data_credits" ] }, { - "name": "destinationSubDao", - "isMut": false, - "isSigner": false, - "relations": [ - "dao" - ] + "name": "dc_mint", + "writable": true }, { - "name": "escrowAccount", - "isMut": true, - "isSigner": false, + "name": "circuit_breaker", + "writable": true, "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "escrow_dc_account" + "value": [ + 109, + 105, + 110, + 116, + 95, + 119, + 105, + 110, + 100, + 111, + 119, + 101, + 100, + 95, + 98, + 114, + 101, + 97, + 107, + 101, + 114 + ] }, { "kind": "account", - "type": "publicKey", - "account": "DelegatedDataCreditsV0", - "path": "delegated_data_credits" + "path": "dc_mint" } - ] + ], + "program": { + "kind": "account", + "path": "circuit_breaker_program" + } } }, { - "name": "destinationEscrowAccount", - "isMut": true, - "isSigner": false, + "name": "circuit_breaker_program", + "address": "circAbx64bbsscPbQzZAUvuXpHqrCe6fLMzc2uKXz9g" + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + }, + { + "name": "associated_token_program", + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" + } + ], + "args": [ + { + "name": "args", + "type": { + "defined": { + "name": "MintDataCreditsArgsV0" + } + } + } + ] + }, + { + "name": "update_data_credits_v0", + "discriminator": [ + 173, + 61, + 95, + 163, + 72, + 7, + 69, + 25 + ], + "accounts": [ + { + "name": "data_credits", + "writable": true, "pda": { "seeds": [ { "kind": "const", - "type": "string", - "value": "escrow_dc_account" + "value": [ + 100, + 99 + ] }, { "kind": "account", - "type": "publicKey", - "account": "DelegatedDataCreditsV0", - "path": "destination_delegated_data_credits" + "path": "dc_mint" } ] } }, { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false + "name": "dc_mint" }, { - "name": "systemProgram", - "isMut": false, - "isSigner": false + "name": "authority", + "signer": true, + "relations": [ + "data_credits" + ] } ], "args": [ { "name": "args", "type": { - "defined": "ChangeDelegatedSubDaoArgsV0" + "defined": { + "name": "UpdateDataCreditsArgsV0" + } } } ] } ], "accounts": [ + { + "name": "DaoV0", + "discriminator": [ + 101, + 75, + 232, + 141, + 239, + 45, + 29, + 205 + ] + }, + { + "name": "DataCreditsV0", + "discriminator": [ + 171, + 162, + 190, + 96, + 54, + 214, + 214, + 162 + ] + }, + { + "name": "DelegatedDataCreditsV0", + "discriminator": [ + 62, + 153, + 101, + 209, + 125, + 116, + 197, + 211 + ] + }, + { + "name": "MintWindowedCircuitBreakerV0", + "discriminator": [ + 205, + 71, + 15, + 158, + 97, + 182, + 161, + 186 + ] + }, + { + "name": "PriceUpdateV2", + "discriminator": [ + 34, + 241, + 35, + 99, + 157, + 126, + 244, + 205 + ] + }, + { + "name": "SubDaoV0", + "discriminator": [ + 19, + 5, + 31, + 112, + 144, + 214, + 82, + 128 + ] + } + ], + "errors": [ + { + "code": 6000, + "name": "BumpNotAvailable", + "msg": "Bump couldn't be found" + }, + { + "code": 6001, + "name": "PythError", + "msg": "Error loading Pyth data" + }, + { + "code": 6002, + "name": "PythPriceNotFound", + "msg": "Pyth price is not available" + }, + { + "code": 6003, + "name": "PythPriceFeedStale", + "msg": "Pyth price is stale" + }, + { + "code": 6004, + "name": "ArithmeticError", + "msg": "Arithmetic error" + }, + { + "code": 6005, + "name": "InvalidArgs", + "msg": "Invalid arguments" + }, + { + "code": 6006, + "name": "NoGenesis", + "msg": "Genesis endpoints are currently disabled" + } + ], + "types": [ + { + "name": "BurnDelegatedDataCreditsArgsV0", + "type": { + "kind": "struct", + "fields": [ + { + "name": "amount", + "type": "u64" + } + ] + } + }, + { + "name": "BurnWithoutTrackingArgsV0", + "type": { + "kind": "struct", + "fields": [ + { + "name": "amount", + "type": "u64" + } + ] + } + }, + { + "name": "ChangeDelegatedSubDaoArgsV0", + "type": { + "kind": "struct", + "fields": [ + { + "name": "amount", + "type": "u64" + }, + { + "name": "router_key", + "type": "string" + } + ] + } + }, + { + "name": "DaoV0", + "type": { + "kind": "struct", + "fields": [ + { + "name": "hnt_mint", + "type": "pubkey" + }, + { + "name": "dc_mint", + "type": "pubkey" + }, + { + "name": "authority", + "type": "pubkey" + }, + { + "name": "registrar", + "type": "pubkey" + }, + { + "name": "hst_pool", + "type": "pubkey" + }, + { + "name": "net_emissions_cap", + "type": "u64" + }, + { + "name": "num_sub_daos", + "type": "u32" + }, + { + "name": "emission_schedule", + "type": { + "vec": { + "defined": { + "name": "EmissionScheduleItem" + } + } + } + }, + { + "name": "hst_emission_schedule", + "type": { + "vec": { + "defined": { + "name": "PercentItem" + } + } + } + }, + { + "name": "bump_seed", + "type": "u8" + }, + { + "name": "rewards_escrow", + "type": "pubkey" + }, + { + "name": "delegator_pool", + "type": "pubkey" + }, + { + "name": "delegator_rewards_percent", + "type": "u64" + }, + { + "name": "proposal_namespace", + "type": "pubkey" + }, + { + "name": "recent_proposals", + "type": { + "array": [ + { + "defined": { + "name": "RecentProposal" + } + }, + 4 + ] + } + } + ] + } + }, { "name": "DataCreditsV0", "type": { "kind": "struct", "fields": [ { - "name": "dcMint", - "type": "publicKey" + "name": "dc_mint", + "type": "pubkey" }, { - "name": "hntMint", - "type": "publicKey" + "name": "hnt_mint", + "type": "pubkey" }, { "name": "authority", - "type": "publicKey" + "type": "pubkey" }, { - "name": "hntPriceOracle", - "type": "publicKey" + "name": "hnt_price_oracle", + "type": "pubkey" }, { - "name": "dataCreditsBump", + "name": "data_credits_bump", "type": "u8" }, { - "name": "accountPayer", - "type": "publicKey" + "name": "account_payer", + "type": "pubkey" }, { - "name": "accountPayerBump", + "name": "account_payer_bump", "type": "u8" } ] } }, + { + "name": "DelegateDataCreditsArgsV0", + "type": { + "kind": "struct", + "fields": [ + { + "name": "amount", + "type": "u64" + }, + { + "name": "router_key", + "type": "string" + } + ] + } + }, { "name": "DelegatedDataCreditsV0", "type": { "kind": "struct", "fields": [ { - "name": "dataCredits", - "type": "publicKey" + "name": "data_credits", + "type": "pubkey" }, { - "name": "subDao", - "type": "publicKey" + "name": "sub_dao", + "type": "pubkey" }, { - "name": "escrowAccount", - "type": "publicKey" + "name": "escrow_account", + "type": "pubkey" }, { - "name": "routerKey", + "name": "router_key", "type": "string" }, { @@ -1010,169 +1891,360 @@ } ] } - } - ], - "types": [ + }, { - "name": "WindowedCircuitBreakerConfigV0", + "name": "EmissionScheduleItem", "type": { "kind": "struct", "fields": [ { - "name": "windowSizeSeconds", - "type": "u64" - }, - { - "name": "thresholdType", - "type": { - "defined": "ThresholdType" - } + "name": "start_unix_time", + "type": "i64" }, { - "name": "threshold", + "name": "emissions_per_epoch", "type": "u64" } ] } }, { - "name": "BurnDelegatedDataCreditsArgsV0", + "name": "GenesisIssueDelegatedDataCreditsArgsV0", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" + }, + { + "name": "router_key", + "type": "string" } ] } }, { - "name": "BurnWithoutTrackingArgsV0", + "name": "InitializeDataCreditsArgsV0", "type": { "kind": "struct", "fields": [ { - "name": "amount", - "type": "u64" + "name": "authority", + "type": "pubkey" + }, + { + "name": "config", + "type": { + "defined": { + "name": "WindowedCircuitBreakerConfigV0" + } + } } ] } }, { - "name": "ChangeDelegatedSubDaoArgsV0", + "name": "IssueDataCreditsArgsV0", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" - }, - { - "name": "routerKey", - "type": "string" } ] } }, { - "name": "DelegateDataCreditsArgsV0", + "name": "MintDataCreditsArgsV0", "type": { "kind": "struct", "fields": [ { - "name": "amount", - "type": "u64" + "name": "hnt_amount", + "type": { + "option": "u64" + } }, { - "name": "routerKey", - "type": "string" + "name": "dc_amount", + "type": { + "option": "u64" + } } ] } }, { - "name": "GenesisIssueDelegatedDataCreditsArgsV0", + "name": "MintWindowedCircuitBreakerV0", "type": { "kind": "struct", "fields": [ { - "name": "amount", - "type": "u64" + "name": "mint", + "type": "pubkey" }, { - "name": "routerKey", - "type": "string" + "name": "authority", + "type": "pubkey" + }, + { + "name": "mint_authority", + "type": "pubkey" + }, + { + "name": "config", + "type": { + "defined": { + "name": "WindowedCircuitBreakerConfigV0" + } + } + }, + { + "name": "last_window", + "type": { + "defined": { + "name": "WindowV0" + } + } + }, + { + "name": "bump_seed", + "type": "u8" } ] } }, { - "name": "InitializeDataCreditsArgsV0", + "name": "PercentItem", "type": { "kind": "struct", "fields": [ { - "name": "authority", - "type": "publicKey" + "name": "start_unix_time", + "type": "i64" }, { - "name": "config", - "type": { - "defined": "WindowedCircuitBreakerConfigV0" - } + "name": "percent", + "type": "u8" } ] } }, { - "name": "IssueDataCreditsArgsV0", + "name": "PriceFeedMessage", + "repr": { + "kind": "c" + }, "type": { "kind": "struct", "fields": [ { - "name": "amount", + "name": "feed_id", + "docs": [ + "`FeedId` but avoid the type alias because of compatibility issues with Anchor's `idl-build` feature." + ], + "type": { + "array": [ + "u8", + 32 + ] + } + }, + { + "name": "price", + "type": "i64" + }, + { + "name": "conf", + "type": "u64" + }, + { + "name": "exponent", + "type": "i32" + }, + { + "name": "publish_time", + "docs": [ + "The timestamp of this price update in seconds" + ], + "type": "i64" + }, + { + "name": "prev_publish_time", + "docs": [ + "The timestamp of the previous price update. This field is intended to allow users to", + "identify the single unique price update for any moment in time:", + "for any time t, the unique update is the one such that prev_publish_time < t <= publish_time.", + "", + "Note that there may not be such an update while we are migrating to the new message-sending logic,", + "as some price updates on pythnet may not be sent to other chains (because the message-sending", + "logic may not have triggered). We can solve this problem by making the message-sending mandatory", + "(which we can do once publishers have migrated over).", + "", + "Additionally, this field may be equal to publish_time if the message is sent on a slot where", + "where the aggregation was unsuccesful. This problem will go away once all publishers have", + "migrated over to a recent version of pyth-agent." + ], + "type": "i64" + }, + { + "name": "ema_price", + "type": "i64" + }, + { + "name": "ema_conf", "type": "u64" } ] } }, { - "name": "MintDataCreditsArgsV0", + "name": "PriceUpdateV2", + "docs": [ + "A price update account. This account is used by the Pyth Receiver program to store a verified price update from a Pyth price feed.", + "It contains:", + "- `write_authority`: The write authority for this account. This authority can close this account to reclaim rent or update the account to contain a different price update.", + "- `verification_level`: The [`VerificationLevel`] of this price update. This represents how many Wormhole guardian signatures have been verified for this price update.", + "- `price_message`: The actual price update.", + "- `posted_slot`: The slot at which this price update was posted." + ], "type": { "kind": "struct", "fields": [ { - "name": "hntAmount", + "name": "write_authority", + "type": "pubkey" + }, + { + "name": "verification_level", "type": { - "option": "u64" + "defined": { + "name": "VerificationLevel" + } } }, { - "name": "dcAmount", + "name": "price_message", "type": { - "option": "u64" + "defined": { + "name": "PriceFeedMessage" + } } + }, + { + "name": "posted_slot", + "type": "u64" } ] } }, { - "name": "UpdateDataCreditsArgsV0", + "name": "RecentProposal", "type": { "kind": "struct", "fields": [ { - "name": "newAuthority", - "type": { - "option": "publicKey" - } + "name": "proposal", + "type": "pubkey" + }, + { + "name": "ts", + "type": "i64" + } + ] + } + }, + { + "name": "SubDaoV0", + "type": { + "kind": "struct", + "fields": [ + { + "name": "dao", + "type": "pubkey" + }, + { + "name": "dnt_mint", + "type": "pubkey" + }, + { + "name": "treasury", + "type": "pubkey" + }, + { + "name": "rewards_escrow", + "type": "pubkey" + }, + { + "name": "delegator_pool", + "docs": [ + "DEPRECATED: use dao.delegator_pool instead. But some people still need to claim old DNT rewards" + ], + "type": "pubkey" + }, + { + "name": "vehnt_delegated", + "type": "u128" + }, + { + "name": "vehnt_last_calculated_ts", + "type": "i64" + }, + { + "name": "vehnt_fall_rate", + "type": "u128" + }, + { + "name": "authority", + "type": "pubkey" }, { - "name": "hntPriceOracle", + "name": "_deprecated_active_device_aggregator", + "type": "pubkey" + }, + { + "name": "dc_burn_authority", + "type": "pubkey" + }, + { + "name": "onboarding_dc_fee", + "type": "u64" + }, + { + "name": "emission_schedule", "type": { - "option": "publicKey" + "vec": { + "defined": { + "name": "EmissionScheduleItem" + } + } } + }, + { + "name": "bump_seed", + "type": "u8" + }, + { + "name": "registrar", + "type": "pubkey" + }, + { + "name": "_deprecated_delegator_rewards_percent", + "type": "u64" + }, + { + "name": "onboarding_data_only_dc_fee", + "type": "u64" + }, + { + "name": "dc_onboarding_fees_paid", + "type": "u64" + }, + { + "name": "active_device_authority", + "type": "pubkey" } ] } @@ -1190,43 +2262,93 @@ } ] } - } - ], - "errors": [ - { - "code": 6000, - "name": "BumpNotAvailable", - "msg": "Bump couldn't be found" - }, - { - "code": 6001, - "name": "PythError", - "msg": "Error loading Pyth data" - }, - { - "code": 6002, - "name": "PythPriceNotFound", - "msg": "Pyth price is not available" }, { - "code": 6003, - "name": "PythPriceFeedStale", - "msg": "Pyth price is stale" + "name": "UpdateDataCreditsArgsV0", + "type": { + "kind": "struct", + "fields": [ + { + "name": "new_authority", + "type": { + "option": "pubkey" + } + } + ] + } }, { - "code": 6004, - "name": "ArithmeticError", - "msg": "Arithmetic error" + "name": "VerificationLevel", + "docs": [ + "Pyth price updates are bridged to all blockchains via Wormhole.", + "Using the price updates on another chain requires verifying the signatures of the Wormhole guardians.", + "The usual process is to check the signatures for two thirds of the total number of guardians, but this can be cumbersome on Solana because of the transaction size limits,", + "so we also allow for partial verification.", + "", + "This enum represents how much a price update has been verified:", + "- If `Full`, we have verified the signatures for two thirds of the current guardians.", + "- If `Partial`, only `num_signatures` guardian signatures have been checked.", + "", + "# Warning", + "Using partially verified price updates is dangerous, as it lowers the threshold of guardians that need to collude to produce a malicious price update." + ], + "type": { + "kind": "enum", + "variants": [ + { + "name": "Partial", + "fields": [ + { + "name": "num_signatures", + "type": "u8" + } + ] + }, + { + "name": "Full" + } + ] + } }, { - "code": 6005, - "name": "InvalidArgs", - "msg": "Invalid arguments" + "name": "WindowV0", + "type": { + "kind": "struct", + "fields": [ + { + "name": "last_aggregated_value", + "type": "u64" + }, + { + "name": "last_unix_timestamp", + "type": "i64" + } + ] + } }, { - "code": 6006, - "name": "NoGenesis", - "msg": "Genesis endpoints are currently disabled" + "name": "WindowedCircuitBreakerConfigV0", + "type": { + "kind": "struct", + "fields": [ + { + "name": "window_size_seconds", + "type": "u64" + }, + { + "name": "threshold_type", + "type": { + "defined": { + "name": "ThresholdType" + } + } + }, + { + "name": "threshold", + "type": "u64" + } + ] + } } ] } \ No newline at end of file diff --git a/programs/data-credits/Cargo.toml b/programs/data-credits/Cargo.toml index e902a22..9d2e6f6 100644 --- a/programs/data-credits/Cargo.toml +++ b/programs/data-credits/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "data-credits" -version = "0.2.3" +version = "0.2.6" edition = "2021" authors = ["Louis Thiery "] license = "Apache-2.0"