@decent-stuff/dc-client
Version:
High-performance WebAssembly client for browser-based querying of Decent Cloud ledger data
345 lines (344 loc) • 11.4 kB
JavaScript
export const idlFactory = ({ IDL }) => {
const GetBlocksResult = IDL.Rec();
const ICRC3Value = IDL.Rec();
const Value = IDL.Rec();
const ResultString = IDL.Variant({ Ok: IDL.Text, Err: IDL.Text });
const ResultData = IDL.Variant({
Ok: IDL.Tuple(IDL.Text, IDL.Vec(IDL.Nat8)),
Err: IDL.Text,
});
const BlockIndex = IDL.Nat;
const GetBlocksArgs = IDL.Record({
start: BlockIndex,
length: IDL.Nat,
});
ICRC3Value.fill(
IDL.Variant({
Int: IDL.Int,
Map: IDL.Vec(IDL.Tuple(IDL.Text, ICRC3Value)),
Nat: IDL.Nat,
Blob: IDL.Vec(IDL.Nat8),
Text: IDL.Text,
Array: IDL.Vec(ICRC3Value),
})
);
GetBlocksResult.fill(
IDL.Record({
log_length: IDL.Nat,
blocks: IDL.Vec(IDL.Record({ id: IDL.Nat, block: ICRC3Value })),
archived_blocks: IDL.Vec(
IDL.Record({
args: IDL.Vec(GetBlocksArgs),
callback: IDL.Func([IDL.Vec(GetBlocksArgs)], [GetBlocksResult], ['query']),
})
),
})
);
const DataCertificate = IDL.Record({
certificate: IDL.Opt(IDL.Vec(IDL.Nat8)),
hash_tree: IDL.Vec(IDL.Nat8),
});
const TxIndex = IDL.Nat;
const GetTransactionsRequest = IDL.Record({
start: TxIndex,
length: IDL.Nat,
});
const Subaccount = IDL.Vec(IDL.Nat8);
const Account = IDL.Record({
owner: IDL.Principal,
subaccount: IDL.Opt(Subaccount),
});
const Timestamp = IDL.Nat64;
const Burn = IDL.Record({
from: Account,
memo: IDL.Opt(IDL.Vec(IDL.Nat8)),
created_at_time: IDL.Opt(Timestamp),
amount: IDL.Nat,
spender: IDL.Opt(Account),
});
const Mint = IDL.Record({
to: Account,
memo: IDL.Opt(IDL.Vec(IDL.Nat8)),
created_at_time: IDL.Opt(Timestamp),
amount: IDL.Nat,
});
const Approve = IDL.Record({
fee: IDL.Opt(IDL.Nat),
from: Account,
memo: IDL.Opt(IDL.Vec(IDL.Nat8)),
created_at_time: IDL.Opt(Timestamp),
amount: IDL.Nat,
expected_allowance: IDL.Opt(IDL.Nat),
expires_at: IDL.Opt(Timestamp),
spender: Account,
});
const Transfer = IDL.Record({
to: Account,
fee: IDL.Opt(IDL.Nat),
from: Account,
memo: IDL.Opt(IDL.Vec(IDL.Nat8)),
created_at_time: IDL.Opt(Timestamp),
amount: IDL.Nat,
spender: IDL.Opt(Account),
});
const Transaction = IDL.Record({
burn: IDL.Opt(Burn),
kind: IDL.Text,
mint: IDL.Opt(Mint),
approve: IDL.Opt(Approve),
timestamp: Timestamp,
transfer: IDL.Opt(Transfer),
});
const TransactionRange = IDL.Record({
transactions: IDL.Vec(Transaction),
});
const QueryArchiveFn = IDL.Func([GetTransactionsRequest], [TransactionRange], ['query']);
const GetTransactionsResponse = IDL.Record({
first_index: TxIndex,
log_length: IDL.Nat,
transactions: IDL.Vec(Transaction),
archived_transactions: IDL.Vec(
IDL.Record({
callback: QueryArchiveFn,
start: TxIndex,
length: IDL.Nat,
})
),
});
const HeaderField = IDL.Tuple(IDL.Text, IDL.Text);
const HttpRequest = IDL.Record({
url: IDL.Text,
method: IDL.Text,
body: IDL.Vec(IDL.Nat8),
headers: IDL.Vec(HeaderField),
certificate_version: IDL.Opt(IDL.Nat16),
});
const HttpResponse = IDL.Record({
body: IDL.Vec(IDL.Nat8),
headers: IDL.Vec(HeaderField),
upgrade: IDL.Opt(IDL.Bool),
status_code: IDL.Nat16,
});
const MetadataValue = IDL.Variant({
Int: IDL.Int,
Nat: IDL.Nat,
Blob: IDL.Vec(IDL.Nat8),
Text: IDL.Text,
});
const Icrc1TransferArgs = IDL.Record({
to: Account,
fee: IDL.Opt(IDL.Nat),
memo: IDL.Opt(IDL.Vec(IDL.Nat8)),
from_subaccount: IDL.Opt(Subaccount),
created_at_time: IDL.Opt(Timestamp),
amount: IDL.Nat,
});
const TransferError = IDL.Variant({
GenericError: IDL.Record({
message: IDL.Text,
error_code: IDL.Nat,
}),
TemporarilyUnavailable: IDL.Null,
BadBurn: IDL.Record({ min_burn_amount: IDL.Nat }),
Duplicate: IDL.Record({ duplicate_of: IDL.Nat }),
BadFee: IDL.Record({ expected_fee: IDL.Nat }),
CreatedInFuture: IDL.Record({ ledger_time: Timestamp }),
TooOld: IDL.Null,
InsufficientFunds: IDL.Record({ balance: IDL.Nat }),
});
const AllowanceArgs = IDL.Record({
account: Account,
spender: Account,
});
const Allowance = IDL.Record({
allowance: IDL.Nat,
expires_at: IDL.Opt(Timestamp),
});
const ApproveArgs = IDL.Record({
fee: IDL.Opt(IDL.Nat),
memo: IDL.Opt(IDL.Vec(IDL.Nat8)),
from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),
created_at_time: IDL.Opt(IDL.Nat64),
amount: IDL.Nat,
expected_allowance: IDL.Opt(IDL.Nat),
expires_at: IDL.Opt(IDL.Nat64),
spender: Account,
});
const ApproveError = IDL.Variant({
GenericError: IDL.Record({
message: IDL.Text,
error_code: IDL.Nat,
}),
TemporarilyUnavailable: IDL.Null,
Duplicate: IDL.Record({ duplicate_of: IDL.Nat }),
BadFee: IDL.Record({ expected_fee: IDL.Nat }),
AllowanceChanged: IDL.Record({ current_allowance: IDL.Nat }),
CreatedInFuture: IDL.Record({ ledger_time: Timestamp }),
TooOld: IDL.Null,
Expired: IDL.Record({ ledger_time: Timestamp }),
InsufficientFunds: IDL.Record({ balance: IDL.Nat }),
});
const TransferFromArgs = IDL.Record({
to: Account,
fee: IDL.Opt(IDL.Nat),
spender_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),
from: Account,
memo: IDL.Opt(IDL.Vec(IDL.Nat8)),
created_at_time: IDL.Opt(IDL.Nat64),
amount: IDL.Nat,
});
const TransferFromError = IDL.Variant({
GenericError: IDL.Record({
message: IDL.Text,
error_code: IDL.Nat,
}),
TemporarilyUnavailable: IDL.Null,
InsufficientAllowance: IDL.Record({ allowance: IDL.Nat }),
BadBurn: IDL.Record({ min_burn_amount: IDL.Nat }),
Duplicate: IDL.Record({ duplicate_of: IDL.Nat }),
BadFee: IDL.Record({ expected_fee: IDL.Nat }),
CreatedInFuture: IDL.Record({ ledger_time: IDL.Nat64 }),
TooOld: IDL.Null,
InsufficientFunds: IDL.Record({ balance: IDL.Nat }),
});
const Icrc3GetArchivesArgs = IDL.Record({ from: IDL.Opt(IDL.Principal) });
const Icrc3GetArchivesResult = IDL.Vec(
IDL.Record({
end: IDL.Nat,
canister_id: IDL.Principal,
start: IDL.Nat,
})
);
Value.fill(
IDL.Variant({
Int: IDL.Int,
Map: IDL.Vec(IDL.Tuple(IDL.Text, Value)),
Nat: IDL.Nat,
Nat64: IDL.Nat64,
Blob: IDL.Vec(IDL.Nat8),
Text: IDL.Text,
Array: IDL.Vec(Value),
})
);
const Block = Value;
const BlockRange = IDL.Record({ blocks: IDL.Vec(Block) });
const QueryBlockArchiveFn = IDL.Func([GetBlocksArgs], [BlockRange], ['query']);
const Icrc3GetBlocksResponse = IDL.Record({
certificate: IDL.Opt(IDL.Vec(IDL.Nat8)),
first_index: BlockIndex,
blocks: IDL.Vec(Block),
chain_length: IDL.Nat64,
archived_blocks: IDL.Vec(
IDL.Record({
callback: QueryBlockArchiveFn,
start: BlockIndex,
length: IDL.Nat,
})
),
});
const Icrc3DataCertificate = IDL.Record({
certificate: IDL.Vec(IDL.Nat8),
hash_tree: IDL.Vec(IDL.Nat8),
});
const OfferingEntry = IDL.Record({
offering_compressed: IDL.Vec(IDL.Nat8),
np_pub_key: IDL.Vec(IDL.Nat8),
});
return IDL.Service({
contract_sign_reply: IDL.Func(
[IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8)],
[ResultString],
[]
),
contract_sign_request: IDL.Func(
[IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8)],
[ResultString],
[]
),
contracts_list_pending: IDL.Func(
[IDL.Opt(IDL.Vec(IDL.Nat8))],
[IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8)))],
['query']
),
data_fetch: IDL.Func([IDL.Opt(IDL.Text), IDL.Opt(IDL.Vec(IDL.Nat8))], [ResultData], ['query']),
data_push: IDL.Func([IDL.Text, IDL.Vec(IDL.Nat8)], [ResultString], []),
data_push_auth: IDL.Func([], [ResultString], []),
get_blocks: IDL.Func([GetBlocksArgs], [GetBlocksResult], ['query']),
get_check_in_nonce: IDL.Func([], [IDL.Vec(IDL.Nat8)], ['query']),
get_data_certificate: IDL.Func([], [DataCertificate], ['query']),
get_identity_reputation: IDL.Func([IDL.Vec(IDL.Nat8)], [IDL.Nat64], ['query']),
get_logs_debug: IDL.Func([], [ResultString], ['query']),
get_logs_error: IDL.Func([], [ResultString], ['query']),
get_logs_info: IDL.Func([], [ResultString], ['query']),
get_logs_warn: IDL.Func([], [ResultString], ['query']),
get_registration_fee: IDL.Func([], [IDL.Nat64], ['query']),
get_transactions: IDL.Func([GetTransactionsRequest], [GetTransactionsResponse], ['query']),
http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),
icrc1_balance_of: IDL.Func([Account], [IDL.Nat], ['query']),
icrc1_decimals: IDL.Func([], [IDL.Nat8], ['query']),
icrc1_fee: IDL.Func([], [IDL.Nat], ['query']),
icrc1_metadata: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, MetadataValue))], ['query']),
icrc1_minting_account: IDL.Func([], [IDL.Opt(Account)], ['query']),
icrc1_name: IDL.Func([], [IDL.Text], ['query']),
icrc1_supported_standards: IDL.Func(
[],
[IDL.Vec(IDL.Record({ url: IDL.Text, name: IDL.Text }))],
['query']
),
icrc1_symbol: IDL.Func([], [IDL.Text], ['query']),
icrc1_total_supply: IDL.Func([], [IDL.Nat], ['query']),
icrc1_transfer: IDL.Func(
[Icrc1TransferArgs],
[IDL.Variant({ Ok: IDL.Nat, Err: TransferError })],
[]
),
icrc2_allowance: IDL.Func([AllowanceArgs], [Allowance], ['query']),
icrc2_approve: IDL.Func([ApproveArgs], [IDL.Variant({ Ok: IDL.Nat, Err: ApproveError })], []),
icrc2_transfer_from: IDL.Func(
[TransferFromArgs],
[IDL.Variant({ Ok: IDL.Nat, Err: TransferFromError })],
[]
),
icrc3_get_archives: IDL.Func([Icrc3GetArchivesArgs], [Icrc3GetArchivesResult], ['query']),
icrc3_get_blocks: IDL.Func([IDL.Vec(GetBlocksArgs)], [Icrc3GetBlocksResponse], ['query']),
icrc3_get_tip_certificate: IDL.Func([], [IDL.Opt(Icrc3DataCertificate)], ['query']),
icrc3_supported_block_types: IDL.Func(
[],
[IDL.Vec(IDL.Record({ url: IDL.Text, block_type: IDL.Text }))],
['query']
),
metadata: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, MetadataValue))], ['query']),
node_provider_check_in: IDL.Func(
[IDL.Vec(IDL.Nat8), IDL.Text, IDL.Vec(IDL.Nat8)],
[ResultString],
[]
),
node_provider_get_profile_by_principal: IDL.Func(
[IDL.Principal],
[IDL.Opt(IDL.Text)],
['query']
),
node_provider_get_profile_by_pubkey_bytes: IDL.Func(
[IDL.Vec(IDL.Nat8)],
[IDL.Opt(IDL.Text)],
['query']
),
node_provider_list_checked_in: IDL.Func([], [ResultString], ['query']),
node_provider_register: IDL.Func([IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8)], [ResultString], []),
node_provider_update_offering: IDL.Func(
[IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8)],
[ResultString],
[]
),
node_provider_update_profile: IDL.Func(
[IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8)],
[ResultString],
[]
),
offering_search: IDL.Func([IDL.Text], [IDL.Vec(OfferingEntry)], ['query']),
user_register: IDL.Func([IDL.Vec(IDL.Nat8), IDL.Vec(IDL.Nat8)], [ResultString], []),
});
};
export const init = () => {
return [];
};