Skip to main content

defuse/contract/
abi.rs

1#![allow(clippy::used_underscore_binding)]
2
3use defuse_core::{
4    intents::{DefuseIntents, Intent},
5    payload::{DefusePayload, nep413::Nep413DefuseMessage},
6};
7use near_sdk::near;
8use serde::{Deserialize, Serialize};
9
10use super::{Contract, ContractExt};
11
12#[near]
13impl Contract {
14    pub fn __abi_helper(_types: AbiHelper) {}
15}
16
17#[cfg_attr(feature = "abi", derive(::schemars::JsonSchema))]
18#[derive(Serialize, Deserialize)]
19pub struct AbiHelper {
20    pub intent: Intent,
21    pub payload: AbiPayloadHelper,
22}
23
24#[cfg_attr(feature = "abi", derive(::schemars::JsonSchema))]
25#[derive(Serialize, Deserialize)]
26pub struct AbiPayloadHelper {
27    pub nep413: Nep413DefuseMessage<DefuseIntents>,
28    pub defuse: DefusePayload<DefuseIntents>,
29}