Jungle 4 (Testnet)

atomicmarket

合约

{
  "version": "eosio::abi/1.2",
  "types": [
    {
      "new_type_name": "ATOMIC_ATTRIBUTE",
      "type": "variant_int8_int16_int32_int64_uint8_uint16_uint32_uint64_float32_float64_string_INT8_VEC_INT16_VEC_INT32_VEC_INT64_VEC_UINT8_VEC_UINT16_VEC_UINT32_VEC_UINT64_VEC_FLOAT_VEC_DOUBLE_VEC_STRING_VEC"
    },
    {
      "new_type_name": "DOUBLE_VEC",
      "type": "float64[]"
    },
    {
      "new_type_name": "FLOAT_VEC",
      "type": "float32[]"
    },
    {
      "new_type_name": "INT16_VEC",
      "type": "int16[]"
    },
    {
      "new_type_name": "INT32_VEC",
      "type": "int32[]"
    },
    {
      "new_type_name": "INT64_VEC",
      "type": "int64[]"
    },
    {
      "new_type_name": "INT8_VEC",
      "type": "bytes"
    },
    {
      "new_type_name": "ROYALTYPAIR_V",
      "type": "ROYALTYPAIR[]"
    },
    {
      "new_type_name": "ROYALTYPAYOUT_V",
      "type": "ROYALTYPAYOUT[]"
    },
    {
      "new_type_name": "STRING_VEC",
      "type": "string[]"
    },
    {
      "new_type_name": "UINT16_VEC",
      "type": "uint16[]"
    },
    {
      "new_type_name": "UINT32_VEC",
      "type": "uint32[]"
    },
    {
      "new_type_name": "UINT64_VEC",
      "type": "uint64[]"
    },
    {
      "new_type_name": "UINT8_VEC",
      "type": "uint8[]"
    }
  ],
  "structs": [
    {
      "name": "COUNTER_RANGE",
      "base": "",
      "fields": [
        {
          "name": "counter_name",
          "type": "name"
        },
        {
          "name": "start_id",
          "type": "uint64"
        },
        {
          "name": "end_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "ROYALTYPAIR",
      "base": "",
      "fields": [
        {
          "name": "recipient",
          "type": "name"
        },
        {
          "name": "weight",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "ROYALTYPAYOUT",
      "base": "",
      "fields": [
        {
          "name": "recipient",
          "type": "name"
        },
        {
          "name": "amount",
          "type": "asset"
        }
      ]
    },
    {
      "name": "SYMBOLPAIR",
      "base": "",
      "fields": [
        {
          "name": "listing_symbol",
          "type": "symbol"
        },
        {
          "name": "settlement_symbol",
          "type": "symbol"
        },
        {
          "name": "delphi_pair_name",
          "type": "name"
        },
        {
          "name": "invert_delphi_pair",
          "type": "bool"
        }
      ]
    },
    {
      "name": "TOKEN",
      "base": "",
      "fields": [
        {
          "name": "token_contract",
          "type": "name"
        },
        {
          "name": "token_symbol",
          "type": "symbol"
        }
      ]
    },
    {
      "name": "acceptbuyo",
      "base": "",
      "fields": [
        {
          "name": "buyoffer_id",
          "type": "uint64"
        },
        {
          "name": "expected_asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "expected_price",
          "type": "asset"
        },
        {
          "name": "taker_marketplace",
          "type": "name"
        }
      ]
    },
    {
      "name": "addafeectr",
      "base": "",
      "fields": [
        {
          "name": "bonusfee_id",
          "type": "uint64"
        },
        {
          "name": "counter_name_to_add",
          "type": "name"
        }
      ]
    },
    {
      "name": "addbonusfee",
      "base": "",
      "fields": [
        {
          "name": "fee_recipient",
          "type": "name"
        },
        {
          "name": "fee",
          "type": "float64"
        },
        {
          "name": "applicable_counter_names",
          "type": "name[]"
        },
        {
          "name": "fee_name",
          "type": "string"
        }
      ]
    },
    {
      "name": "addconftoken",
      "base": "",
      "fields": [
        {
          "name": "token_contract",
          "type": "name"
        },
        {
          "name": "token_symbol",
          "type": "symbol"
        }
      ]
    },
    {
      "name": "adddelphi",
      "base": "",
      "fields": [
        {
          "name": "delphi_pair_name",
          "type": "name"
        },
        {
          "name": "invert_delphi_pair",
          "type": "bool"
        },
        {
          "name": "listing_symbol",
          "type": "symbol"
        },
        {
          "name": "settlement_symbol",
          "type": "symbol"
        }
      ]
    },
    {
      "name": "announceauct",
      "base": "",
      "fields": [
        {
          "name": "seller",
          "type": "name"
        },
        {
          "name": "asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "starting_bid",
          "type": "asset"
        },
        {
          "name": "duration",
          "type": "uint32"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        }
      ]
    },
    {
      "name": "announcesale",
      "base": "",
      "fields": [
        {
          "name": "seller",
          "type": "name"
        },
        {
          "name": "asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "listing_price",
          "type": "asset"
        },
        {
          "name": "settlement_symbol",
          "type": "symbol"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        }
      ]
    },
    {
      "name": "assertauct",
      "base": "",
      "fields": [
        {
          "name": "auction_id",
          "type": "uint64"
        },
        {
          "name": "asset_ids_to_assert",
          "type": "uint64[]"
        }
      ]
    },
    {
      "name": "assertsale",
      "base": "",
      "fields": [
        {
          "name": "sale_id",
          "type": "uint64"
        },
        {
          "name": "asset_ids_to_assert",
          "type": "uint64[]"
        },
        {
          "name": "listing_price_to_assert",
          "type": "asset"
        },
        {
          "name": "settlement_symbol_to_assert",
          "type": "symbol"
        }
      ]
    },
    {
      "name": "auctclaimbuy",
      "base": "",
      "fields": [
        {
          "name": "auction_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "auctclaimsel",
      "base": "",
      "fields": [
        {
          "name": "auction_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "auctionbid",
      "base": "",
      "fields": [
        {
          "name": "bidder",
          "type": "name"
        },
        {
          "name": "auction_id",
          "type": "uint64"
        },
        {
          "name": "bid",
          "type": "asset"
        },
        {
          "name": "taker_marketplace",
          "type": "name"
        }
      ]
    },
    {
      "name": "auctions_s",
      "base": "",
      "fields": [
        {
          "name": "auction_id",
          "type": "uint64"
        },
        {
          "name": "seller",
          "type": "name"
        },
        {
          "name": "asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "end_time",
          "type": "uint32"
        },
        {
          "name": "assets_transferred",
          "type": "bool"
        },
        {
          "name": "current_bid",
          "type": "asset"
        },
        {
          "name": "current_bidder",
          "type": "name"
        },
        {
          "name": "claimed_by_seller",
          "type": "bool"
        },
        {
          "name": "claimed_by_buyer",
          "type": "bool"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        },
        {
          "name": "taker_marketplace",
          "type": "name"
        },
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "collection_fee",
          "type": "float64"
        }
      ]
    },
    {
      "name": "balances_s",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "quantities",
          "type": "asset[]"
        }
      ]
    },
    {
      "name": "bonusfees_s",
      "base": "",
      "fields": [
        {
          "name": "bonusfee_id",
          "type": "uint64"
        },
        {
          "name": "fee_recipient",
          "type": "name"
        },
        {
          "name": "fee",
          "type": "float64"
        },
        {
          "name": "counter_ranges",
          "type": "COUNTER_RANGE[]"
        },
        {
          "name": "fee_name",
          "type": "string"
        }
      ]
    },
    {
      "name": "buyoffers_s",
      "base": "",
      "fields": [
        {
          "name": "buyoffer_id",
          "type": "uint64"
        },
        {
          "name": "buyer",
          "type": "name"
        },
        {
          "name": "recipient",
          "type": "name"
        },
        {
          "name": "price",
          "type": "asset"
        },
        {
          "name": "asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "memo",
          "type": "string"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        },
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "collection_fee",
          "type": "float64"
        }
      ]
    },
    {
      "name": "cancelauct",
      "base": "",
      "fields": [
        {
          "name": "auction_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "cancelbuyo",
      "base": "",
      "fields": [
        {
          "name": "buyoffer_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "cancelsale",
      "base": "",
      "fields": [
        {
          "name": "sale_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "canceltbuyo",
      "base": "",
      "fields": [
        {
          "name": "buyoffer_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "config_s",
      "base": "",
      "fields": [
        {
          "name": "version",
          "type": "string"
        },
        {
          "name": "sale_counter",
          "type": "uint64"
        },
        {
          "name": "auction_counter",
          "type": "uint64"
        },
        {
          "name": "minimum_bid_increase",
          "type": "float64"
        },
        {
          "name": "minimum_auction_duration",
          "type": "uint32"
        },
        {
          "name": "maximum_auction_duration",
          "type": "uint32"
        },
        {
          "name": "auction_reset_duration",
          "type": "uint32"
        },
        {
          "name": "supported_tokens",
          "type": "TOKEN[]"
        },
        {
          "name": "supported_symbol_pairs",
          "type": "SYMBOLPAIR[]"
        },
        {
          "name": "maker_market_fee",
          "type": "float64"
        },
        {
          "name": "taker_market_fee",
          "type": "float64"
        },
        {
          "name": "atomicassets_account",
          "type": "name"
        },
        {
          "name": "delphioracle_account",
          "type": "name"
        }
      ]
    },
    {
      "name": "convcounters",
      "base": "",
      "fields": []
    },
    {
      "name": "counters_s",
      "base": "",
      "fields": [
        {
          "name": "counter_name",
          "type": "name"
        },
        {
          "name": "counter_value",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "createbuyo",
      "base": "",
      "fields": [
        {
          "name": "buyer",
          "type": "name"
        },
        {
          "name": "recipient",
          "type": "name"
        },
        {
          "name": "price",
          "type": "asset"
        },
        {
          "name": "asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "memo",
          "type": "string"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        }
      ]
    },
    {
      "name": "createtbuyo",
      "base": "",
      "fields": [
        {
          "name": "buyer",
          "type": "name"
        },
        {
          "name": "price",
          "type": "asset"
        },
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "template_id",
          "type": "uint64"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        }
      ]
    },
    {
      "name": "declinebuyo",
      "base": "",
      "fields": [
        {
          "name": "buyoffer_id",
          "type": "uint64"
        },
        {
          "name": "decline_memo",
          "type": "string"
        }
      ]
    },
    {
      "name": "delattrroy",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "rule_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "delbonusfee",
      "base": "",
      "fields": [
        {
          "name": "bonusfee_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "delroyalconf",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        }
      ]
    },
    {
      "name": "deltemplroy",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "template_id",
          "type": "int32"
        }
      ]
    },
    {
      "name": "fulfilltbuyo",
      "base": "",
      "fields": [
        {
          "name": "seller",
          "type": "name"
        },
        {
          "name": "buyoffer_id",
          "type": "uint64"
        },
        {
          "name": "asset_id",
          "type": "uint64"
        },
        {
          "name": "expected_price",
          "type": "asset"
        },
        {
          "name": "taker_marketplace",
          "type": "name"
        }
      ]
    },
    {
      "name": "init",
      "base": "",
      "fields": []
    },
    {
      "name": "logauctstart",
      "base": "",
      "fields": [
        {
          "name": "auction_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "lognewauct",
      "base": "",
      "fields": [
        {
          "name": "auction_id",
          "type": "uint64"
        },
        {
          "name": "seller",
          "type": "name"
        },
        {
          "name": "asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "starting_bid",
          "type": "asset"
        },
        {
          "name": "duration",
          "type": "uint32"
        },
        {
          "name": "end_time",
          "type": "uint32"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        },
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "collection_fee",
          "type": "float64"
        }
      ]
    },
    {
      "name": "lognewbuyo",
      "base": "",
      "fields": [
        {
          "name": "buyoffer_id",
          "type": "uint64"
        },
        {
          "name": "buyer",
          "type": "name"
        },
        {
          "name": "recipient",
          "type": "name"
        },
        {
          "name": "price",
          "type": "asset"
        },
        {
          "name": "asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "memo",
          "type": "string"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        },
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "collection_fee",
          "type": "float64"
        }
      ]
    },
    {
      "name": "lognewsale",
      "base": "",
      "fields": [
        {
          "name": "sale_id",
          "type": "uint64"
        },
        {
          "name": "seller",
          "type": "name"
        },
        {
          "name": "asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "listing_price",
          "type": "asset"
        },
        {
          "name": "settlement_symbol",
          "type": "symbol"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        },
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "collection_fee",
          "type": "float64"
        }
      ]
    },
    {
      "name": "lognewtbuyo",
      "base": "",
      "fields": [
        {
          "name": "buyoffer_id",
          "type": "uint64"
        },
        {
          "name": "buyer",
          "type": "name"
        },
        {
          "name": "price",
          "type": "asset"
        },
        {
          "name": "template_id",
          "type": "uint64"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        },
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "collection_fee",
          "type": "float64"
        }
      ]
    },
    {
      "name": "logroyattr",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "asset_id",
          "type": "uint64"
        },
        {
          "name": "rule_id",
          "type": "uint64"
        },
        {
          "name": "payouts",
          "type": "ROYALTYPAYOUT_V"
        }
      ]
    },
    {
      "name": "logroydust",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "collection_author",
          "type": "name"
        },
        {
          "name": "amount",
          "type": "asset"
        }
      ]
    },
    {
      "name": "logroyfound",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "asset_id",
          "type": "uint64"
        },
        {
          "name": "payouts",
          "type": "ROYALTYPAYOUT_V"
        }
      ]
    },
    {
      "name": "logroytempl",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "asset_id",
          "type": "uint64"
        },
        {
          "name": "template_id",
          "type": "int32"
        },
        {
          "name": "payouts",
          "type": "ROYALTYPAYOUT_V"
        }
      ]
    },
    {
      "name": "logsalestart",
      "base": "",
      "fields": [
        {
          "name": "sale_id",
          "type": "uint64"
        },
        {
          "name": "offer_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "marketplaces_s",
      "base": "",
      "fields": [
        {
          "name": "marketplace_name",
          "type": "name"
        },
        {
          "name": "creator",
          "type": "name"
        }
      ]
    },
    {
      "name": "migratebal",
      "base": "",
      "fields": [
        {
          "name": "from",
          "type": "name"
        },
        {
          "name": "to",
          "type": "name"
        }
      ]
    },
    {
      "name": "payauctram",
      "base": "",
      "fields": [
        {
          "name": "payer",
          "type": "name"
        },
        {
          "name": "auction_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "paybuyoram",
      "base": "",
      "fields": [
        {
          "name": "payer",
          "type": "name"
        },
        {
          "name": "buyoffer_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "paysaleram",
      "base": "",
      "fields": [
        {
          "name": "payer",
          "type": "name"
        },
        {
          "name": "sale_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "purchasesale",
      "base": "",
      "fields": [
        {
          "name": "buyer",
          "type": "name"
        },
        {
          "name": "sale_id",
          "type": "uint64"
        },
        {
          "name": "intended_delphi_median",
          "type": "uint64"
        },
        {
          "name": "taker_marketplace",
          "type": "name"
        }
      ]
    },
    {
      "name": "regmarket",
      "base": "",
      "fields": [
        {
          "name": "creator",
          "type": "name"
        },
        {
          "name": "marketplace_name",
          "type": "name"
        }
      ]
    },
    {
      "name": "royaltyattr_s",
      "base": "",
      "fields": [
        {
          "name": "index",
          "type": "uint64"
        },
        {
          "name": "source",
          "type": "uint8"
        },
        {
          "name": "field",
          "type": "string"
        },
        {
          "name": "value",
          "type": "ATOMIC_ATTRIBUTE"
        },
        {
          "name": "weight",
          "type": "uint32"
        },
        {
          "name": "recipients",
          "type": "ROYALTYPAIR_V"
        },
        {
          "name": "lookup_hash",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "royaltyconf_s",
      "base": "",
      "fields": [
        {
          "name": "collection",
          "type": "name"
        },
        {
          "name": "founders",
          "type": "ROYALTYPAIR_V"
        },
        {
          "name": "attribute_mode",
          "type": "uint8"
        },
        {
          "name": "split_founders",
          "type": "uint32"
        },
        {
          "name": "split_templates",
          "type": "uint32"
        },
        {
          "name": "split_attributes",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "royaltytemp_s",
      "base": "",
      "fields": [
        {
          "name": "template_id",
          "type": "int32"
        },
        {
          "name": "recipients",
          "type": "ROYALTYPAIR_V"
        }
      ]
    },
    {
      "name": "sales_s",
      "base": "",
      "fields": [
        {
          "name": "sale_id",
          "type": "uint64"
        },
        {
          "name": "seller",
          "type": "name"
        },
        {
          "name": "asset_ids",
          "type": "uint64[]"
        },
        {
          "name": "offer_id",
          "type": "int64"
        },
        {
          "name": "listing_price",
          "type": "asset"
        },
        {
          "name": "settlement_symbol",
          "type": "symbol"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        },
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "collection_fee",
          "type": "float64"
        }
      ]
    },
    {
      "name": "setattrroy",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "source",
          "type": "uint8"
        },
        {
          "name": "field",
          "type": "string"
        },
        {
          "name": "value",
          "type": "ATOMIC_ATTRIBUTE"
        },
        {
          "name": "rule_weight",
          "type": "uint32"
        },
        {
          "name": "recipients",
          "type": "ROYALTYPAIR_V"
        }
      ]
    },
    {
      "name": "setdefmktcr",
      "base": "",
      "fields": [
        {
          "name": "new_creator",
          "type": "name"
        }
      ]
    },
    {
      "name": "setmarketfee",
      "base": "",
      "fields": [
        {
          "name": "maker_market_fee",
          "type": "float64"
        },
        {
          "name": "taker_market_fee",
          "type": "float64"
        }
      ]
    },
    {
      "name": "setminbidinc",
      "base": "",
      "fields": [
        {
          "name": "minimum_bid_increase",
          "type": "float64"
        }
      ]
    },
    {
      "name": "setroyalconf",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "founders",
          "type": "ROYALTYPAIR_V"
        },
        {
          "name": "attribute_mode",
          "type": "uint8"
        },
        {
          "name": "split_founders",
          "type": "uint32"
        },
        {
          "name": "split_templates",
          "type": "uint32"
        },
        {
          "name": "split_attributes",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "settemplroy",
      "base": "",
      "fields": [
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "template_id",
          "type": "int32"
        },
        {
          "name": "recipients",
          "type": "ROYALTYPAIR_V"
        }
      ]
    },
    {
      "name": "setversion",
      "base": "",
      "fields": [
        {
          "name": "new_version",
          "type": "string"
        }
      ]
    },
    {
      "name": "stopbonusfee",
      "base": "",
      "fields": [
        {
          "name": "bonusfee_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "template_buyoffer_s",
      "base": "",
      "fields": [
        {
          "name": "buyoffer_id",
          "type": "uint64"
        },
        {
          "name": "buyer",
          "type": "name"
        },
        {
          "name": "price",
          "type": "asset"
        },
        {
          "name": "template_id",
          "type": "uint64"
        },
        {
          "name": "maker_marketplace",
          "type": "name"
        },
        {
          "name": "collection_name",
          "type": "name"
        },
        {
          "name": "collection_fee",
          "type": "float64"
        }
      ]
    },
    {
      "name": "withdraw",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "token_to_withdraw",
          "type": "asset"
        }
      ]
    }
  ],
  "actions": [
    {
      "name": "acceptbuyo",
      "type": "acceptbuyo",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Accepts a buyoffer\nsummary: 'The buyoffer {{nowrap buyoffer_id}} is accepted'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe buyoffer with the id {{buyoffer_id}} is accepted by the recipient of the buyoffer.\n\nIf the asset ids of the buyoffer differ from {{expected_asset_ids}}, the transaction fails.\n\nIf the price of the buyoffer differs from {{expected_price}}, the transaction fails.\n\n{{#if taker_marketplace}}The marketplace with the name {{taker_marketplace}} facilitates this buyoffer acceptance.\n{{else}}The default marketplace facilitates this buyoffer acceptance.\n{{/if}}\n\nThe recipient needs to have previously created an AtomicAssets trade offer, offering the assets of the buyoffer to the AtomicMarket account without asking for anything in return.\n\nThe AtomicAssets trade offer is accepted and the asset of the buyoffer is forwarded to the sender of the buyoffer.\n\nThe marketplaces facilitating the buyoffer creation and the acceptance, the collection's royalty recipients (according to the collection's royalty split configuration, or the collection author if none exists), and the recipient of the buyoffer each get their share of the offered price added to their balances. The collection fee applied is the collection's fee at the time of this acceptance, regardless of whether it is higher or lower than when the buyoffer was created.\n\nIf the buyoffer is a legacy bundle listing (more than one asset), no trade takes place. The buyoffer is cancelled instead and the escrowed price is returned to the balance of the buyoffer's sender.\n\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the recipient of the buyoffer.\n</div>"
    },
    {
      "name": "addafeectr",
      "type": "addafeectr",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Add a counter name to a bonus fee\nsummary: 'Adds the counter name {{nowrap counter_name_to_add}} to the bonus fee with the ID {{nowrap bonusfee_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe counter name {{counter_name_to_add}} is added to the bonus fee with the ID {{bonusfee_id}}, so that the fee also applies to all future listings using that counter name.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "addbonusfee",
      "type": "addbonusfee",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Add a bonus fee\nsummary: 'Adds a bonus fee of {{nowrap fee}} paid to {{nowrap fee_recipient}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nA bonus fee of {{fee}} paid to {{fee_recipient}} is added for all future listings whose counter name is within the applicable counter names. The fee is deducted from the payouts of those listings when they settle.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "addconftoken",
      "type": "addconftoken",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Add token to supported list\nsummary: 'Adds a to the supported tokens list in the config'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n<b>Description:</b>\n<div class=\"description\">\nThe token with the symbol {{token_symbol}} from the token contract {{token_contract}} is added to the supported_tokens list.\n\nThis means this token can then be deposited and used for sales and auctions.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "adddelphi",
      "type": "adddelphi",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Add a delphi symbol pair\nsummary: 'Adds a pair to the supported symbol pairs list in the config'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n<b>Description:</b>\n<div class=\"description\">\nA new symbol pair is added to the config.\n\nIt allows users to list an asset for sale with a listing price specified in {{listing_symbol}} which will be paid (settled) in {{settlement_symbol}}, which belongs to a supported token.\n\nThe exchange rate is calculated using the {{delphi_pair_name}} delphioracle pair.\n\n{{#if invert_delphi_pair}}The delphioracle price data will be inverted.\n{{/if}}\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "announceauct",
      "type": "announceauct",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Announce an auction\nsummary: '{{nowrap seller}} announces an auction of an asset'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{seller}} announces an auction for the asset with the following ID:\n{{#each asset_ids}}\n    - {{this}}\n{{/each}}\n\nAn auction contains exactly one asset. To auction multiple assets, multiple auctions can be created within a single transaction.\n\nFor this auction to become active, {{seller}} has to transfer the aforementioned asset to the AtomicMarket account with the memo \"auction\".\n\nThe starting bid for this auction will be {{starting_bid}} and the auction will run for a minimum of {{duration}} seconds, starting from the time of announcement.\n\n{{#if maker_marketplace}}The marketplace with the name {{maker_marketplace}} facilitates this auction creation.\n{{else}}The default marketplace facilitates this auction creation.\n{{/if}}\n\nIf the auction is successful, the marketplace facilitating the creation of the auction and the marketplace facilitating the final bid on the auction each receive a share of the final bid.\n\nIf the auction is successful, the collection that the listed asset belongs to receives its collection fee share of the final bid, distributed according to the collection's royalty split configuration, or in full to the collection author if no such configuration exists. The collection fee applied is the collection's fee at the time of the seller claim, regardless of whether it is higher or lower than at the time of this announcement.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{seller}}.\n</div>"
    },
    {
      "name": "announcesale",
      "type": "announcesale",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Announce a sale\nsummary: '{{nowrap seller}} announces a sale of an asset'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{seller}} announces a sale for the asset with the following ID:\n{{#each asset_ids}}\n    - {{this}}\n{{/each}}\n\nA sale contains exactly one asset. To sell multiple assets, multiple sales can be created within a single transaction.\n\nFor this sale to become active, {{seller}} has to create an AtomicAssets trade offer in which he offers the aforementioned asset to the AtomicMarket account with the memo \"sale\".\n\nThe asset will be listed for the price of {{listing_price}} which will be settled in {{symbol_to_symbol_code settlement_symbol}}.\n\n{{#if maker_marketplace}}The marketplace with the name {{maker_marketplace}} facilitates this listing.\n{{else}}The default marketplace facilitates this listing.\n{{/if}}\n\nIf the sale is purchased, the marketplace facilitating the listing of the sale and the marketplace facilitating the purchase of the sale each receive a share of the sale price.\n\nIf the sale is purchased, the collection that the listed asset belongs to receives its collection fee share of the sale price, distributed according to the collection's royalty split configuration, or in full to the collection author if no such configuration exists. The collection fee applied is the collection's fee at the time of the purchase, regardless of whether it is higher or lower than at the time of this announcement.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{seller}}.\n</div>"
    },
    {
      "name": "assertauct",
      "type": "assertauct",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Asserts auction details\nsummary: 'The asset ids of the auction {{nowrap auction_id}} is asserted'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nAsserts whether the auction with the id {{auction_id}} is for the asset ids {{asset_ids_to_assert}}\nIf it is not, the transaction fails. Otherwise, nothing happens.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\n</div>"
    },
    {
      "name": "assertsale",
      "type": "assertsale",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Asserts sale details\nsummary: 'The asset ids and price of the sale {{nowrap sale_id}} is asserted'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nAsserts whether the sale with the id {{sale_id}} is for the asset ids {{asset_ids_to_assert}}, whether the listing price is {{listing_price_to_assert}} and whether the settlement symbol is {{settlement_symbol_to_assert}}\nIf any of these are not true, the transaction fails. Otherwise, nothing happens.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\n</div>"
    },
    {
      "name": "auctclaimbuy",
      "type": "auctclaimbuy",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Claim an auction as the buyer\nsummary: 'The highest bidder of the finished auction with the ID {{nowrap auction_id}} claims the assets won'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe winner (highest bidder) of the auction with the ID {{auction_id}} claims the assets won in the auction. The auction must be finished.\n\nThe assets won in the auction are transferred to the auction's winner.\n\nIf the auction is a legacy bundle listing (more than one asset) and the seller has not claimed yet, the auction is dissolved instead: the winning bid is refunded to the bidder's balance and the assets are returned to the seller.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the winner of the auction with the ID {{auction_id}}.\n</div>"
    },
    {
      "name": "auctclaimsel",
      "type": "auctclaimsel",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Claim an auction as the seller\nsummary: 'The seller of the finished auction with the ID {{nowrap auction_id}} claims the final bid'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe seller of the auction with the ID {{auction_id}} claims the final bid of the auction. The auction must be finished.\n\nThe marketplaces facilitating the auction creation and the final bid, the collection's royalty recipients (according to the collection's royalty split configuration, or the collection author if none exists), and the seller each get their share of the final bid added to their balances. The collection fee applied is the collection's fee at the time of this claim, regardless of whether it is higher or lower than when the auction was created.\n\nIf the auction is a legacy bundle listing (more than one asset) and the winning bidder has not claimed yet, the auction is dissolved instead: the winning bid is refunded to the bidder's balance and the assets are returned to the seller.\n\nIf the auction is a legacy bundle listing and the winning bidder has already claimed the assets, the seller is paid out, with the collection fee share going to the collection author in full (legacy bundles are not distributed through the royalty split configuration).\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the seller of the auction with the ID {{auction_id}}.\n</div>"
    },
    {
      "name": "auctionbid",
      "type": "auctionbid",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Place a bid on an auction\nsummary: '{{nowrap bidder}} bids {{nowrap bid}} on the auction with the ID {{nowrap sale_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{bidder}} places a bid of {{bid}} on the auction with the ID {{auction_id}}.\n\nIf the auction does not have any previous bids, the placed bid must be at least as high as the specified minimum bid of the auction.\n\nIf the auction does have a previous bid, the minimum relative increase of the bid is specified in the config table in the field minimum_bid_increase.\n\nThe bid will be deducted from {{bidder}}'s balance.\n\nIf the auction has a previous bid, the previous bidder is refunded their bid into their balance.\n\n{{#if taker_marketplace}}The marketplace with the name {{taker_marketplace}} facilitates this bid.\n{{else}}The default marketplace facilitates this bid.\n{{/if}}\n\nIf the auction is an unclaimed legacy bundle listing (more than one asset), no bid takes place. The auction is dissolved instead: an existing bid is refunded to its bidder, custodied assets are returned to the seller, and {{bidder}} is not charged anything.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{bidder}}.\n</div>"
    },
    {
      "name": "cancelauct",
      "type": "cancelauct",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Cancel an auction\nsummary: 'The auction with the ID {{nowrap auction_id}} is cancelled'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe auction with the ID {{auction_id}} is cancelled. The auction must not have any bids yet, otherwise it can't be cancelled.\n\nIf the seller of this auction has already transferred the assets for this auction to the AtomicMarket account, the assets are transferred back.\n\nException: legacy bundle auctions (more than one asset) that have a bid but that nobody has claimed yet may also be cancelled - the bid is then refunded to the bidder's balance and the assets are returned to the seller.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the seller of the auction with the ID {{auction_id}}, unless the auction is invalid (it is not active and the seller no longer owns the listed asset) or is a legacy bundle listing, in which case anyone may call this action.\n</div>"
    },
    {
      "name": "cancelbuyo",
      "type": "cancelbuyo",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Cancels a buyoffer\nsummary: 'The buyoffer {{nowrap buyoffer_id}} is cancelled'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe buyoffer with the id {{buyoffer_id}} is cancelled.\n\nThe price of the buyoffer is added to the balance of the buyoffer's sender.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the sender of the buyoffer.\n</div>"
    },
    {
      "name": "cancelsale",
      "type": "cancelsale",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Cancel a sale\nsummary: 'The sale with the ID {{nowrap sale_id}} is cancelled'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe sale with the ID {{sale_id}} is cancelled.\n\nIf the seller of this sale has created an AtomicAssets trade offer, offering the assets for this sale to the AtomicMarket account, this trade offer will be declined.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the seller of the sale with the ID {{sale_id}}, unless the sale is invalid (the seller no longer owns the listed asset or the related trade offer was cancelled) or is a legacy bundle listing, in which case anyone may call this action.\n</div>"
    },
    {
      "name": "canceltbuyo",
      "type": "canceltbuyo",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Cancel a template buyoffer\nsummary: 'The template buyoffer {{nowrap buyoffer_id}} is cancelled'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe template buyoffer with the id {{buyoffer_id}} is cancelled.\n\nThe price of the buyoffer is added back to the balance of the buyoffer's buyer.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the buyer of the template buyoffer.\n</div>"
    },
    {
      "name": "convcounters",
      "type": "convcounters",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Converts config counters\nsummary: 'Converts deprecated config counters into using the counters table'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe deprecated (since version 1.3.0) sale_counter and auction_counter in the config singleton are added to the counters table.\n\nThe counter values in the config singleton are set to 0.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "createbuyo",
      "type": "createbuyo",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Create a buyoffer\nsummary: '{{nowrap sender}} creates a buyoffer for {{nowrap recipient}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{sender}} creates a buyoffer, offering {{price}} for the asset with the following id, owned by {{recipient}}:\n{{#each asset_ids}}\n    - {{this}}\n{{/each}}\n\nA buyoffer contains exactly one asset. To make offers on multiple assets, multiple buyoffers can be created within a single transaction.\n\nThe price is deducted from {{sender}}'s balance.\n\n{{recipient}} may accept this buyoffer, exchanging the previously mentioned assets for the specified price (excluding fees).\n\n{{#if maker_marketplace}}The marketplace with the name {{maker_marketplace}} facilitates this buyoffer creation.\n{{else}}The default marketplace facilitates this buyoffer creation.\n{{/if}}\n\n{{#if memo}}There is a memo attached to the buyoffer stating:\n    {{memo}}\n{{else}}No memo is attached to the buyoffer.\n{{/if}}\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{sender}}.\n</div>"
    },
    {
      "name": "createtbuyo",
      "type": "createtbuyo",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Create a template buyoffer\nsummary: '{{nowrap buyer}} offers {{nowrap price}} for any asset of the template {{nowrap template_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{buyer}} creates a buyoffer, offering {{price}} for any asset of the template {{template_id}} of the collection {{collection_name}}.\n\nThe price is deducted from {{buyer}}'s balance.\n\nAny account owning an asset of the template may fulfill this buyoffer, exchanging their asset for the specified price (excluding fees).\n\n{{#if maker_marketplace}}The marketplace with the name {{maker_marketplace}} facilitates this buyoffer creation.\n{{else}}The default marketplace facilitates this buyoffer creation.\n{{/if}}\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{buyer}}.\n</div>"
    },
    {
      "name": "declinebuyo",
      "type": "declinebuyo",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Declines a buyoffer\nsummary: 'The buyoffer {{nowrap buyoffer_id}} is declined'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe buyoffer with the id {{buyoffer_id}} is declined by the recipient of the buyoffer.\n\nThe price of the buyoffer is added to the balance of the buyoffer's sender.\n\n{{#if decline_memo}}There is a memo attached to the decline stating:\n    {{decline_memo}}\n{{else}}No memo is attached to the decline.\n{{/if}}\n\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the recipient of the buyoffer.\n</div>"
    },
    {
      "name": "delattrroy",
      "type": "delattrroy",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Delete an attribute royalty rule\nsummary: 'The attribute royalty rule with the ID {{nowrap rule_id}} of the collection {{nowrap collection_name}} is deleted'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe attribute royalty rule with the ID {{rule_id}} of the collection {{collection_name}} is deleted.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the author of the collection {{collection_name}}.\n</div>"
    },
    {
      "name": "delbonusfee",
      "type": "delbonusfee",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Delete a bonus fee\nsummary: 'Deletes the bonus fee with the ID {{nowrap bonusfee_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe bonus fee with the ID {{bonusfee_id}} is erased entirely, so that it is not paid by any listing, including listings that were originally created while the fee was active.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "delroyalconf",
      "type": "delroyalconf",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Delete a collection's royalty split config\nsummary: 'The royalty split config of the collection {{nowrap collection_name}} is deleted'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe royalty split config of the collection {{collection_name}} is deleted. The collection fee share of future settlements then again goes to the collection author in full.\n\nAll template royalties and attribute royalty rules of the collection must be deleted before the config can be deleted.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the author of the collection {{collection_name}}.\n</div>"
    },
    {
      "name": "deltemplroy",
      "type": "deltemplroy",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Delete template royalties\nsummary: 'The royalty recipients for the template {{nowrap template_id}} of the collection {{nowrap collection_name}} are deleted'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe royalty recipients for the template {{template_id}} of the collection {{collection_name}} are deleted.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the author of the collection {{collection_name}}.\n</div>"
    },
    {
      "name": "fulfilltbuyo",
      "type": "fulfilltbuyo",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Fulfill a template buyoffer\nsummary: '{{nowrap seller}} fulfills the template buyoffer {{nowrap buyoffer_id}} with the asset {{nowrap asset_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{seller}} fulfills the template buyoffer with the id {{buyoffer_id}}, selling the asset with the id {{asset_id}}, which must be of the buyoffer's template.\n\nIf the price of the buyoffer differs from {{expected_price}}, the transaction fails.\n\n{{seller}} needs to have previously created an AtomicAssets trade offer, offering the asset to the AtomicMarket account without asking for anything in return, using the memo \"tbuyoffer\".\n\nThe AtomicAssets trade offer is accepted and the asset is forwarded to the buyer of the buyoffer.\n\nThe marketplaces facilitating the buyoffer creation and the fulfillment, the collection's royalty recipients (according to the collection's royalty split configuration, or the collection author if none exists), and {{seller}} each get their share of the offered price added to their balances. The collection fee applied is the collection's fee at the time of this fulfillment, regardless of whether it is higher or lower than when the buyoffer was created.\n\n{{#if taker_marketplace}}The marketplace with the name {{taker_marketplace}} facilitates this fulfillment.\n{{else}}The default marketplace facilitates this fulfillment.\n{{/if}}\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{seller}}.\n</div>"
    },
    {
      "name": "init",
      "type": "init",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Initialize config table\nsummary: 'Initialize the table \"config\" if it has not been initialized before'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nInitialize the table \"config\" if it has not been initialized before. If it has been initialized before, nothing will happen.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "logauctstart",
      "type": "logauctstart",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log an auction becoming active\nsummary: 'Logs that the auction with the ID {{nowrap auction_id}} has become active'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs that the auction with the ID {{auction_id}} has become active. This action is only used for notification purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "lognewauct",
      "type": "lognewauct",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log a new auction\nsummary: 'Logs the creation of the auction with the ID {{nowrap auction_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs the creation of the auction with the ID {{auction_id}}. This action is only used for notification purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "lognewbuyo",
      "type": "lognewbuyo",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log a new buyoffer\nsummary: 'Logs the creation of the buyoffer with the ID {{nowrap buyoffer_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs the creation of the buyoffer with the ID {{buyoffer_id}}. This action is only used for notification purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "lognewsale",
      "type": "lognewsale",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log a new sale\nsummary: 'Logs the creation of the sale with the ID {{nowrap sale_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs the creation of the sale with the ID {{sale_id}}. This action is only used for notification purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "lognewtbuyo",
      "type": "lognewtbuyo",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log a new template buyoffer\nsummary: 'Logs the creation of the template buyoffer with the ID {{nowrap buyoffer_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs the creation of the template buyoffer with the ID {{buyoffer_id}}. This action is only used for notification purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "logroyattr",
      "type": "logroyattr",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log an attribute royalty distribution\nsummary: 'Logs the attribute rule royalty payouts for the asset {{nowrap asset_id}} of the collection {{nowrap collection_name}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs the amounts credited to the internal balances of the recipients of the attribute royalty rule with the ID {{rule_id}} of the collection {{collection_name}} during the settlement of the asset with the ID {{asset_id}}. This action is only used for logging purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "logroydust",
      "type": "logroydust",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log a royalty fallback distribution\nsummary: 'Logs the royalty amounts that fell through to the author of the collection {{nowrap collection_name}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs the amount credited to the internal balance of {{collection_author}}, the author of the collection {{collection_name}}, during a royalty split settlement, consisting of integer rounding remainders and the shares of assets for which no royalty category had payees. Together with the logroyfound, logroytempl and logroyattr actions of the same settlement, the logged amounts sum up to exactly the collection fee. This action is only used for logging purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "logroyfound",
      "type": "logroyfound",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log a founders royalty distribution\nsummary: 'Logs the founders royalty payouts for the asset {{nowrap asset_id}} of the collection {{nowrap collection_name}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs the amounts credited to the internal balances of the founders category recipients of the collection {{collection_name}} during the settlement of the asset with the ID {{asset_id}}. This action is only used for logging purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "logroytempl",
      "type": "logroytempl",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log a template royalty distribution\nsummary: 'Logs the template royalty payouts for the asset {{nowrap asset_id}} of the collection {{nowrap collection_name}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs the amounts credited to the internal balances of the royalty recipients of the template {{template_id}} of the collection {{collection_name}} during the settlement of the asset with the ID {{asset_id}}. This action is only used for logging purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "logsalestart",
      "type": "logsalestart",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Log a sale becoming active\nsummary: 'Logs that the sale with the ID {{nowrap sale_id}} has become active'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nLogs that the sale with the ID {{sale_id}} has become active, with the related AtomicAssets trade offer {{offer_id}}. This action is only used for notification purposes and has no effect on any state.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called by the AtomicMarket contract itself.\n</div>"
    },
    {
      "name": "migratebal",
      "type": "migratebal",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Migrate accumulated balances\nsummary: 'Migrate the accumulated balance of {{nowrap from}} to {{nowrap to}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nMoves all accumulated balances of {{nowrap from}} to {{nowrap to}}, merging the quantities per token symbol. The balance row of {{from}} is removed.\n\nThis is used together with \"setdefmktcr\" to move fees that already accrued to the previous default marketplace creator over to the new one.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the contract itself.\n</div>"
    },
    {
      "name": "payauctram",
      "type": "payauctram",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Pay for the RAM of an auction \nsummary: '{{nowrap payer}} pays for the RAM of the auction with the ID {{nowrap auction_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{payer}} pays for the RAM associated with the table entry of the auction with the ID {{auction_id}}. The content of the table entry does not change.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{payer}}.\n</div>"
    },
    {
      "name": "paybuyoram",
      "type": "paybuyoram",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Pay for the RAM of a buyoffer \nsummary: '{{nowrap payer}} pays for the RAM of the buyoffer with the ID {{nowrap buyoffer_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{payer}} pays for the RAM associated with the table entry of the buyoffer with the ID {{buyoffer_id}}. The content of the table entry does not change.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{payer}}.\n</div>"
    },
    {
      "name": "paysaleram",
      "type": "paysaleram",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Pay for the RAM of a sale \nsummary: '{{nowrap payer}} pays for the RAM of the sale with the ID {{nowrap sale_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{payer}} pays for the RAM associated with the table entry of the sale with the ID {{sale_id}}. The content of the table entry does not change.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{payer}}.\n</div>"
    },
    {
      "name": "purchasesale",
      "type": "purchasesale",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Purchase a sale\nsummary: '{{nowrap buyer}} purchases the sale with the ID {{nowrap sale_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{buyer}} purchases the sale with the ID {{sale_id}}.\n\nIf the sale's listing price uses a different symbol than the sale's settlement symbol, the following delphioracle median price is used to calculate the exchange rate: {{intended_delphi_median}}.\n\nThis delphioracle median price must have been reported to the delphioracle and must still be present in the delphioracle's datapoints table for the relevant delphi pair.\n\n{{buyer}} will be transferred the asset of the sale.\n\nThe price of the sale will be deducted from {{buyer}}'s balance.\n\nThe marketplaces facilitating the sale listing and the purchase, the collection's royalty recipients (according to the collection's royalty split configuration, or the collection author if none exists), and the seller each get their share of the sale price added to their balances. The collection fee applied is the collection's fee at the time of this purchase, regardless of whether it is higher or lower than when the sale was created.\n\n{{#if taker_marketplace}}The marketplace with the name {{taker_marketplace}} facilitates this purchase.\n{{else}}The default marketplace facilitates this purchase.\n{{/if}}\n\nIf the sale is a legacy bundle listing (more than one asset), no purchase takes place. The sale is cancelled instead and {{buyer}} is not charged anything.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{buyer}}.\n</div>"
    },
    {
      "name": "regmarket",
      "type": "regmarket",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Register a new market\nsummary: '{{nowrap creator}} creates a new marketplace with the name {{nowrap marketplace_name}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{nowrap creator}} creates a new marketplace with the name {{nowrap marketplace_name}}.\n\nThis marketplace name can then be used in the \"announcesale\", \"announceauct\", \"purchasesale\", \"auctionbid\" actions.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{creator}}.\n</div>"
    },
    {
      "name": "setattrroy",
      "type": "setattrroy",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Set an attribute royalty rule\nsummary: 'An attribute royalty rule for the collection {{nowrap collection_name}} is created or updated'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nAn attribute royalty rule for the collection {{collection_name}} is created or updated.\n\nThe rule matches a settled asset when the asset has an attribute with the exact field {{field}}, the exact configured value and value type, read from the data source {{source}} (0 = merged attribute data; 1 = asset immutable data; 2 = asset mutable data; 3 = template immutable data; 4 = template mutable data).\n\nWhen one or more rules match a settled asset, the attributes category share of the collection fee is first divided between the matched rules proportional to their rule weights (this rule's weight is {{rule_weight}}), and each rule's share is then distributed to its configured recipients, proportional to their weights.\n\nIf a rule for the exact same source, field and value already exists, its weight and recipients are updated instead of a new rule being created.\n\nThe collection must have a royalty split config (see the setroyalconf action). Float typed and vector typed attribute values can not be used as royalty match keys. The authorizing account pays for the RAM of the table entry.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the author of the collection {{collection_name}}. Authorized accounts of the collection are not accepted, as this configuration controls where funds are paid out.\n</div>"
    },
    {
      "name": "setdefmktcr",
      "type": "setdefmktcr",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Set the default marketplace creator\nsummary: 'Set the creator of the default marketplace to {{nowrap new_creator}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nSets the creator of the default (empty-name) marketplace to {{nowrap new_creator}}.\n\nThe default marketplace receives the maker and taker fees for listings that do not specify a marketplace. This action redirects those fees to {{new_creator}}.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the contract itself.\n</div>"
    },
    {
      "name": "setmarketfee",
      "type": "setmarketfee",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Set the market fees\nsummary: 'Sets the market fees that are paid out to the marketplaces facilitating sales and auctions'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n<b>Description:</b>\n<div class=\"description\">\nThe share that the maker market place will receive of successful sales and auctions is set to {{maker_market_fee}}.\n\nThe share that the taker market place will receive of successful sales and auctions is set to {{taker_market_fee}}.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "setminbidinc",
      "type": "setminbidinc",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Set minimum auction bid increase\nsummary: 'Sets the minimum auction bid increase to {{nowrap minimum_bid_increase}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n<b>Description:</b>\n<div class=\"description\">\nThe minimum bid increase for auctions to {{minimum_bid_increase}}.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "setroyalconf",
      "type": "setroyalconf",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Set a collection's royalty split config\nsummary: 'The royalty split config of the collection {{nowrap collection_name}} is created or updated'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe royalty split config of the collection {{collection_name}} is created or updated.\n\nWhen a sale, auction or buyoffer of an asset belonging to {{collection_name}} settles, the collection fee share of the payment is divided between three categories, weighted {{split_founders}} (founders) : {{split_templates}} (templates) : {{split_attributes}} (attributes). Categories that have no payees for the settled asset are renormalized away, so the weights only need to be relative to each other.\n\nThe founders category is distributed to the configured founders list, proportional to the configured weights.\n\nThe templates category is distributed according to the template royalties of the settled asset's template (see the settemplroy action).\n\nThe attributes category is distributed according to the attribute royalty rules the settled asset matches (see the setattrroy action). The attribute_mode of {{attribute_mode}} determines whether rules match on the merged attribute data of an asset (0) or on each data source individually (1). The attribute_mode can not be changed while attribute royalty rules exist.\n\nAny rounding remainders, and the shares of assets for which no category has payees, go to the collection author.\n\nThe authorizing account pays for the RAM of the config table entry.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the author of the collection {{collection_name}}. Authorized accounts of the collection are not accepted, as this configuration controls where funds are paid out.\n</div>"
    },
    {
      "name": "settemplroy",
      "type": "settemplroy",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Set template royalties\nsummary: 'The royalty recipients for the template {{nowrap template_id}} of the collection {{nowrap collection_name}} are created or updated'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe royalty recipients for the template {{template_id}} of the collection {{collection_name}} are created or updated.\n\nWhen an asset of this template settles, the templates category share of the collection fee is distributed to the configured recipients, proportional to their weights.\n\nThe collection must have a royalty split config (see the setroyalconf action). The authorizing account pays for the RAM of the table entry.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of the author of the collection {{collection_name}}. Authorized accounts of the collection are not accepted, as this configuration controls where funds are paid out.\n</div>"
    },
    {
      "name": "setversion",
      "type": "setversion",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Set config version\nsummary: 'Sets the version in the config table to {{nowrap new_version}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n<b>Description:</b>\n<div class=\"description\">\nThe version in the config table is set to {{new_version}}.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "stopbonusfee",
      "type": "stopbonusfee",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Stop a bonus fee\nsummary: 'Stops the bonus fee with the ID {{nowrap bonusfee_id}}'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\nThe bonus fee with the ID {{bonusfee_id}} is stopped. Listings created after this point will not pay the fee; listings created while the fee was active continue to pay it when they settle.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{$action.account}}.\n</div>"
    },
    {
      "name": "withdraw",
      "type": "withdraw",
      "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Withdraw fungible tokens\nsummary: '{{nowrap owner}} withdraws {{token_to_withdraw}} from his balance'\nicon: https://atomicassets.io/image/logo256.png#108AEE3530F4EB368A4B0C28800894CFBABF46534F48345BF6453090554C52D5\n---\n\n<b>Description:</b>\n<div class=\"description\">\n{{owner}} withdraws {{token_to_withdraw}}.\nThe tokens will be transferred back to {{owner}} and will be deducted from {{owner}}'s balance.\n</div>\n\n<b>Clauses:</b>\n<div class=\"clauses\">\nThis action may only be called with the permission of {{owner}}.\n</div>"
    }
  ],
  "tables": [
    {
      "name": "auctions",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "auctions_s"
    },
    {
      "name": "balances",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "balances_s"
    },
    {
      "name": "bonusfees",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "bonusfees_s"
    },
    {
      "name": "buyoffers",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "buyoffers_s"
    },
    {
      "name": "config",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "config_s"
    },
    {
      "name": "counters",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "counters_s"
    },
    {
      "name": "marketplaces",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "marketplaces_s"
    },
    {
      "name": "royaltyattr",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "royaltyattr_s"
    },
    {
      "name": "royaltyconf",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "royaltyconf_s"
    },
    {
      "name": "royaltytemp",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "royaltytemp_s"
    },
    {
      "name": "sales",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "sales_s"
    },
    {
      "name": "tbuyoffers",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "template_buyoffer_s"
    }
  ],
  "ricardian_clauses": [],
  "error_messages": [],
  "abi_extensions": [],
  "variants": [
    {
      "name": "variant_int8_int16_int32_int64_uint8_uint16_uint32_uint64_float32_float64_string_INT8_VEC_INT16_VEC_INT32_VEC_INT64_VEC_UINT8_VEC_UINT16_VEC_UINT32_VEC_UINT64_VEC_FLOAT_VEC_DOUBLE_VEC_STRING_VEC",
      "types": [
        "int8",
        "int16",
        "int32",
        "int64",
        "uint8",
        "uint16",
        "uint32",
        "uint64",
        "float32",
        "float64",
        "string",
        "INT8_VEC",
        "INT16_VEC",
        "INT32_VEC",
        "INT64_VEC",
        "UINT8_VEC",
        "UINT16_VEC",
        "UINT32_VEC",
        "UINT64_VEC",
        "FLOAT_VEC",
        "DOUBLE_VEC",
        "STRING_VEC"
      ]
    }
  ],
  "action_results": []
}