Skip to main content

Improv auction (Terra)

The Improv auction contract facilitates casting auctions and arbitration on the Terra chain. For NFT casting auctions on the Ethereum chain, visit the Improv auction (Ethereum).

Messages

InstantiateMsg

Instantiates the auction contract.

JSON
Rust
Copy

_9
{
_9
"owner": "terra...",
_9
"improv_hub": "terra...",
_9
"bid_token": "terra...",
_9
"arbitration_nft": "terra...",
_9
"improv_relayer_addr": "terra...",
_9
"wormhole_core_bridge_addr": "terra...",
_9
"wormhole_token_bridge_addr": "terra..."
_9
}

InstantiateMsg

Instantiates the auction contract.

JSON
Rust
CopyExpandClose

_9
{
_9
"owner": "terra...",
_9
"improv_hub": "terra...",
_9
"bid_token": "terra...",
_9
"arbitration_nft": "terra...",
_9
"improv_relayer_addr": "terra...",
_9
"wormhole_core_bridge_addr": "terra...",
_9
"wormhole_token_bridge_addr": "terra..."
_9
}

ExecuteMsgs

Receive

Allows the token transfer to execute a receive hook as a subsequent action within the same transaction.

receive can be called during a CW20 token transfer when the Improv auction is the recipient.

JSON
Rust
Copy

_7
{
_7
"receive": {
_7
"amount": "10000000",
_7
"sender": "terra...",
_7
"msg": "eyAiZXhlY3V0ZV9tc2ciOiAiYmluYXJ5IiB9"
_7
}
_7
}

Submit Veto

When a story is submitted for review, all cast members are issued arbitration NFTs. They can use these NFTs to veto a story. If enough members decide to veto, the writer must re-submit the story.

JSON
Rust
Copy

_7
{
_7
"submit_veto": {
_7
"proposal_id": 1,
_7
"character_id": 1,
_7
"start_veto_vaa": "eyAiZXhlY3V0ZV9tc2ciOiAiYmluYXJ5IiB9"
_7
}
_7
}

Receive

Allows the token transfer to execute a receive hook as a subsequent action within the same transaction.

receive can be called during a CW20 token transfer when the Improv auction is the recipient.

Submit Veto

When a story is submitted for review, all cast members are issued arbitration NFTs. They can use these NFTs to veto a story. If enough members decide to veto, the writer must re-submit the story.

JSON
Rust
CopyExpandClose

_7
{
_7
"receive": {
_7
"amount": "10000000",
_7
"sender": "terra...",
_7
"msg": "eyAiZXhlY3V0ZV9tc2ciOiAiYmluYXJ5IiB9"
_7
}
_7
}

Receive hooks

Messages received during a CW20 token transfer.

Submit bid

An NFT holder in any whitelisted collection can bid on a cast position with their NFT. At the end of the bidding process, the highest bidding NFT fills the cast position.

JSON
Rust
Copy

_9
{
_9
"submit_bid": {
_9
"proposal_id": 1,
_9
"character_id": 1,
_9
"nft_address": "0xefb86a7b9517ff99304ac432cc9d8a06c6693eca",
_9
"nft_token_id": "1",
_9
"proposal_vaa": "eyAiZXhlY3V0ZV9tc2ciOiAiYmluYXJ5IiB9"
_9
}
_9
}

Submit bid

An NFT holder in any whitelisted collection can bid on a cast position with their NFT. At the end of the bidding process, the highest bidding NFT fills the cast position.

JSON
Rust
CopyExpandClose

_9
{
_9
"submit_bid": {
_9
"proposal_id": 1,
_9
"character_id": 1,
_9
"nft_address": "0xefb86a7b9517ff99304ac432cc9d8a06c6693eca",
_9
"nft_token_id": "1",
_9
"proposal_vaa": "eyAiZXhlY3V0ZV9tc2ciOiAiYmluYXJ5IiB9"
_9
}
_9
}

QueryMsgs

Config

Gets the configuration of the Improv Hub.

Request
Copy

_3
{
_3
"config": {}
_3
}

Response
Copy

_9
{
_9
"owner": "terra...",
_9
"improv_hub": "terra...",
_9
"bid_token": "terra...",
_9
"arbitration_nft": "terra...",
_9
"improv_relayer_addr": "terra...",
_9
"wormhole_core_bridge_addr": "terra...",
_9
"wormhole_token_bridge_addr": "terra..."
_9
}

Auction

Gets the amount of bidders of the given proposal_id.

Request
Copy

_5
{
_5
"auction": {
_5
"proposal_id": 11
_5
}
_5
}

Response
Copy

_4
{
_4
"proposal_id": 11,
_4
"bidder_count": 2
_4
}

Bid

Gets the bid information of the given proposal_id and character_id.

Request
Copy

_6
{
_6
"bid": {
_6
"proposal_id": 11,
_6
"character_id": 5
_6
}
_6
}

Response
Copy

_8
{
_8
"proposal_id": 11,
_8
"character_id": 5,
_8
"bid_amount": "100000000",
_8
"nft_address": "terra...",
_8
"nft_token_id": "847426363",
_8
"bidder": "terra..."
_8
}

Bids

Gets the specified bid information.

Request
Copy

_8
{
_8
"bids": {
_8
"proposal_id": 11,
_8
"start_at": 4,
_8
"limit": 2,
_8
"order_by": "asc"
_8
}
_8
}

Response
Copy

_21
{
_21
"bids": [
_21
{
_21
"proposal_id": 11,
_21
"character_id": 4,
_21
"bid_amount": "100000000",
_21
"nft_address": "terra...",
_21
"nft_token_id": "847426363",
_21
"bidder": "terra..."
_21
},
_21
{
_21
"proposal_id": 11,
_21
"character_id": 5,
_21
"bid_amount": "200000000",
_21
"nft_address": "terra...",
_21
"nft_token_id": "998244353",
_21
"bidder": "terra..."
_21
}
_21
],
_21
"next_character": 6
_21
}

Vetoed Characters

Gets the vetoed characters using a proposal_id and veto_id.

Request
Copy

_6
{
_6
"vetoed_characters": {
_6
"proposal_id": 11,
_6
"veto_id": 3
_6
}
_6
}

Response
Copy

_5
{
_5
"proposal_id": 11,
_5
"veto_id": 3,
_5
"vetoed_characters": [4, 5, 10, 23]
_5
}

Config

Gets the configuration of the Improv Hub.

Auction

Gets the amount of bidders of the given proposal_id.

Bid

Gets the bid information of the given proposal_id and character_id.

Bids

Gets the specified bid information.

Vetoed Characters

Gets the vetoed characters using a proposal_id and veto_id.

Request
CopyExpandClose

_3
{
_3
"config": {}
_3
}

Response
Copy

_9
{
_9
"owner": "terra...",
_9
"improv_hub": "terra...",
_9
"bid_token": "terra...",
_9
"arbitration_nft": "terra...",
_9
"improv_relayer_addr": "terra...",
_9
"wormhole_core_bridge_addr": "terra...",
_9
"wormhole_token_bridge_addr": "terra..."
_9
}