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
}