33992542b1
* updated contracts to cosmwasm2.2 and fixed build issues * removed old coconut contract code + additional dkg fixes * replace deprecated to_binary and from_binary functions * mixnet contract tests compiling some are failing due to incorrect addresses * made other contract tests compile * fixed remaining tests * allow usage of manually dispatching contract replies * nym-api test fixes * removed old toolchain from contracts CI * linter fixes * regenerated contract schema * fixed easy_addr * further license fixes * post rebase fixes + update to 2.2.2 * change ci runner * minor CI adjustments * change wallet CI to use node 20 * more CI changes... * run cosmwasm-check against release contracts * test ci changes * wip...
673 lines
17 KiB
JSON
673 lines
17 KiB
JSON
{
|
|
"contract_name": "nym-ecash",
|
|
"contract_version": "0.1.0",
|
|
"idl_version": "1.0.0",
|
|
"instantiate": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "InstantiateMsg",
|
|
"type": "object",
|
|
"required": [
|
|
"deposit_amount",
|
|
"group_addr",
|
|
"holding_account",
|
|
"multisig_addr"
|
|
],
|
|
"properties": {
|
|
"deposit_amount": {
|
|
"$ref": "#/definitions/Coin"
|
|
},
|
|
"group_addr": {
|
|
"type": "string"
|
|
},
|
|
"holding_account": {
|
|
"type": "string"
|
|
},
|
|
"multisig_addr": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"Coin": {
|
|
"type": "object",
|
|
"required": [
|
|
"amount",
|
|
"denom"
|
|
],
|
|
"properties": {
|
|
"amount": {
|
|
"$ref": "#/definitions/Uint128"
|
|
},
|
|
"denom": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"Uint128": {
|
|
"description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"execute": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "ExecuteMsg",
|
|
"oneOf": [
|
|
{
|
|
"description": "Used by clients to request ticket books from the signers",
|
|
"type": "object",
|
|
"required": [
|
|
"deposit_ticket_book_funds"
|
|
],
|
|
"properties": {
|
|
"deposit_ticket_book_funds": {
|
|
"type": "object",
|
|
"required": [
|
|
"identity_key"
|
|
],
|
|
"properties": {
|
|
"identity_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Used by gateways to batch redeem tokens from the spent tickets",
|
|
"type": "object",
|
|
"required": [
|
|
"request_redemption"
|
|
],
|
|
"properties": {
|
|
"request_redemption": {
|
|
"type": "object",
|
|
"required": [
|
|
"commitment_bs58",
|
|
"number_of_tickets"
|
|
],
|
|
"properties": {
|
|
"commitment_bs58": {
|
|
"type": "string"
|
|
},
|
|
"number_of_tickets": {
|
|
"type": "integer",
|
|
"format": "uint16",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "The actual message that gets executed, after multisig votes, that transfers the ticket tokens into gateway's (and the holding) account",
|
|
"type": "object",
|
|
"required": [
|
|
"redeem_tickets"
|
|
],
|
|
"properties": {
|
|
"redeem_tickets": {
|
|
"type": "object",
|
|
"required": [
|
|
"gw",
|
|
"n"
|
|
],
|
|
"properties": {
|
|
"gw": {
|
|
"type": "string"
|
|
},
|
|
"n": {
|
|
"type": "integer",
|
|
"format": "uint16",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"update_admin"
|
|
],
|
|
"properties": {
|
|
"update_admin": {
|
|
"type": "object",
|
|
"required": [
|
|
"admin"
|
|
],
|
|
"properties": {
|
|
"admin": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"update_deposit_value"
|
|
],
|
|
"properties": {
|
|
"update_deposit_value": {
|
|
"type": "object",
|
|
"required": [
|
|
"new_deposit"
|
|
],
|
|
"properties": {
|
|
"new_deposit": {
|
|
"$ref": "#/definitions/Coin"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"propose_to_blacklist"
|
|
],
|
|
"properties": {
|
|
"propose_to_blacklist": {
|
|
"type": "object",
|
|
"required": [
|
|
"public_key"
|
|
],
|
|
"properties": {
|
|
"public_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"add_to_blacklist"
|
|
],
|
|
"properties": {
|
|
"add_to_blacklist": {
|
|
"type": "object",
|
|
"required": [
|
|
"public_key"
|
|
],
|
|
"properties": {
|
|
"public_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
],
|
|
"definitions": {
|
|
"Coin": {
|
|
"type": "object",
|
|
"required": [
|
|
"amount",
|
|
"denom"
|
|
],
|
|
"properties": {
|
|
"amount": {
|
|
"$ref": "#/definitions/Uint128"
|
|
},
|
|
"denom": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"Uint128": {
|
|
"description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"query": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "QueryMsg",
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"get_blacklisted_account"
|
|
],
|
|
"properties": {
|
|
"get_blacklisted_account": {
|
|
"type": "object",
|
|
"required": [
|
|
"public_key"
|
|
],
|
|
"properties": {
|
|
"public_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"get_blacklist_paged"
|
|
],
|
|
"properties": {
|
|
"get_blacklist_paged": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"get_required_deposit_amount"
|
|
],
|
|
"properties": {
|
|
"get_required_deposit_amount": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"get_deposit"
|
|
],
|
|
"properties": {
|
|
"get_deposit": {
|
|
"type": "object",
|
|
"required": [
|
|
"deposit_id"
|
|
],
|
|
"properties": {
|
|
"deposit_id": {
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"get_latest_deposit"
|
|
],
|
|
"properties": {
|
|
"get_latest_deposit": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"get_deposits_paged"
|
|
],
|
|
"properties": {
|
|
"get_deposits_paged": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"migrate": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "MigrateMsg",
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"sudo": null,
|
|
"responses": {
|
|
"get_blacklist_paged": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "PagedBlacklistedAccountResponse",
|
|
"type": "object",
|
|
"required": [
|
|
"accounts",
|
|
"per_page"
|
|
],
|
|
"properties": {
|
|
"accounts": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/BlacklistedAccount"
|
|
}
|
|
},
|
|
"per_page": {
|
|
"type": "integer",
|
|
"format": "uint",
|
|
"minimum": 0.0
|
|
},
|
|
"start_next_after": {
|
|
"description": "Field indicating paging information for the following queries if the caller wishes to get further entries.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"BlacklistedAccount": {
|
|
"type": "object",
|
|
"required": [
|
|
"info",
|
|
"public_key"
|
|
],
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/definitions/Blacklisting"
|
|
},
|
|
"public_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"Blacklisting": {
|
|
"type": "object",
|
|
"required": [
|
|
"proposal_id"
|
|
],
|
|
"properties": {
|
|
"finalized_at_height": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint64",
|
|
"minimum": 0.0
|
|
},
|
|
"proposal_id": {
|
|
"type": "integer",
|
|
"format": "uint64",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"get_blacklisted_account": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "BlacklistedAccountResponse",
|
|
"type": "object",
|
|
"properties": {
|
|
"account": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/Blacklisting"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"Blacklisting": {
|
|
"type": "object",
|
|
"required": [
|
|
"proposal_id"
|
|
],
|
|
"properties": {
|
|
"finalized_at_height": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint64",
|
|
"minimum": 0.0
|
|
},
|
|
"proposal_id": {
|
|
"type": "integer",
|
|
"format": "uint64",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"get_deposit": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "DepositResponse",
|
|
"type": "object",
|
|
"required": [
|
|
"id"
|
|
],
|
|
"properties": {
|
|
"deposit": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/Deposit"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"Deposit": {
|
|
"type": "object",
|
|
"required": [
|
|
"bs58_encoded_ed25519_pubkey"
|
|
],
|
|
"properties": {
|
|
"bs58_encoded_ed25519_pubkey": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"get_deposits_paged": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "PagedDepositsResponse",
|
|
"type": "object",
|
|
"required": [
|
|
"deposits"
|
|
],
|
|
"properties": {
|
|
"deposits": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/DepositData"
|
|
}
|
|
},
|
|
"start_next_after": {
|
|
"description": "Field indicating paging information for the following queries if the caller wishes to get further entries.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"Deposit": {
|
|
"type": "object",
|
|
"required": [
|
|
"bs58_encoded_ed25519_pubkey"
|
|
],
|
|
"properties": {
|
|
"bs58_encoded_ed25519_pubkey": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"DepositData": {
|
|
"type": "object",
|
|
"required": [
|
|
"deposit",
|
|
"id"
|
|
],
|
|
"properties": {
|
|
"deposit": {
|
|
"$ref": "#/definitions/Deposit"
|
|
},
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"get_latest_deposit": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "LatestDepositResponse",
|
|
"type": "object",
|
|
"properties": {
|
|
"deposit": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/DepositData"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"Deposit": {
|
|
"type": "object",
|
|
"required": [
|
|
"bs58_encoded_ed25519_pubkey"
|
|
],
|
|
"properties": {
|
|
"bs58_encoded_ed25519_pubkey": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"DepositData": {
|
|
"type": "object",
|
|
"required": [
|
|
"deposit",
|
|
"id"
|
|
],
|
|
"properties": {
|
|
"deposit": {
|
|
"$ref": "#/definitions/Deposit"
|
|
},
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"get_required_deposit_amount": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Coin",
|
|
"type": "object",
|
|
"required": [
|
|
"amount",
|
|
"denom"
|
|
],
|
|
"properties": {
|
|
"amount": {
|
|
"$ref": "#/definitions/Uint128"
|
|
},
|
|
"denom": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"Uint128": {
|
|
"description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|