UNPKG

@jagad/icsi

Version:

Internet Computer Subaccount Indexer Library - TypeScript SDK for ICP multi-token subaccount management, transaction tracking, and automated sweeping with webhook support

131 lines (130 loc) 5.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.init = exports.idlFactory = void 0; const idlFactory = ({ IDL }) => { const Network = IDL.Variant({ Mainnet: IDL.Null, Local: IDL.Null }); const Error = IDL.Record({ message: IDL.Text }); const Result = IDL.Variant({ Ok: IDL.Text, Err: Error }); const Result_1 = IDL.Variant({ Ok: IDL.Text, Err: IDL.Text }); const Timestamp = IDL.Record({ timestamp_nanos: IDL.Nat64 }); const SweepStatus = IDL.Variant({ Swept: IDL.Null, FailedToSweep: IDL.Null, NotSwept: IDL.Null, }); const E8s = IDL.Record({ e8s: IDL.Nat64 }); const Approve = IDL.Record({ fee: E8s, from: IDL.Vec(IDL.Nat8), allowance_e8s: IDL.Int64, allowance: E8s, expected_allowance: IDL.Opt(E8s), expires_at: IDL.Opt(Timestamp), spender: IDL.Vec(IDL.Nat8), }); const Burn = IDL.Record({ from: IDL.Vec(IDL.Nat8), amount: E8s, spender: IDL.Opt(IDL.Vec(IDL.Nat8)), }); const Mint = IDL.Record({ to: IDL.Vec(IDL.Nat8), amount: E8s }); const Transfer = IDL.Record({ to: IDL.Vec(IDL.Nat8), fee: E8s, from: IDL.Vec(IDL.Nat8), amount: E8s, spender: IDL.Opt(IDL.Vec(IDL.Nat8)), }); const Operation = IDL.Variant({ Approve: Approve, Burn: Burn, Mint: Mint, Transfer: Transfer, }); const TokenType = IDL.Variant({ ICP: IDL.Null, CKUSDC: IDL.Null, CKUSDT: IDL.Null, CKBTC: IDL.Null, }); const StoredTransactions = IDL.Record({ sweep_status: SweepStatus, memo: IDL.Nat64, token_ledger_canister_id: IDL.Opt(IDL.Principal), icrc1_memo: IDL.Opt(IDL.Vec(IDL.Nat8)), operation: IDL.Opt(Operation), index: IDL.Nat64, created_at_time: Timestamp, tx_hash: IDL.Text, token_type: TokenType, }); const Result_2 = IDL.Variant({ Ok: IDL.Vec(StoredTransactions), Err: Error, }); const Result_3 = IDL.Variant({ Ok: IDL.Nat64, Err: IDL.Text }); const Result_4 = IDL.Variant({ Ok: Network, Err: IDL.Text }); const Result_5 = IDL.Variant({ Ok: IDL.Nat32, Err: IDL.Text }); const Result_6 = IDL.Variant({ Ok: IDL.Opt(IDL.Nat64), Err: IDL.Text }); const Result_7 = IDL.Variant({ Ok: IDL.Vec(IDL.Tuple(TokenType, IDL.Text)), Err: IDL.Text, }); const Result_8 = IDL.Variant({ Ok: TokenType, Err: IDL.Text }); const Result_9 = IDL.Variant({ Ok: IDL.Vec(StoredTransactions), Err: IDL.Text, }); const Result_10 = IDL.Variant({ Ok: IDL.Null, Err: Error }); const Result_11 = IDL.Variant({ Ok: IDL.Nat64, Err: Error }); const Result_12 = IDL.Variant({ Ok: IDL.Vec(IDL.Text), Err: Error }); const Result_13 = IDL.Variant({ Ok: IDL.Bool, Err: Error }); const HttpHeader = IDL.Record({ value: IDL.Text, name: IDL.Text }); const HttpResponse = IDL.Record({ status: IDL.Nat, body: IDL.Vec(IDL.Nat8), headers: IDL.Vec(HttpHeader), }); const TransformArgs = IDL.Record({ context: IDL.Vec(IDL.Nat8), response: HttpResponse, }); return IDL.Service({ add_subaccount: IDL.Func([IDL.Opt(TokenType)], [Result], []), canister_status: IDL.Func([], [Result_1], ['query']), clear_transactions: IDL.Func([IDL.Opt(IDL.Nat64), IDL.Opt(Timestamp)], [Result_2], []), convert_to_icrc_account: IDL.Func([IDL.Text], [Result], []), get_canister_principal: IDL.Func([], [Result_1], ['query']), get_icrc_account: IDL.Func([IDL.Nat32], [Result], ['query']), get_interval: IDL.Func([], [Result_3], ['query']), get_network: IDL.Func([], [Result_4], ['query']), get_next_block: IDL.Func([], [Result_3], ['query']), get_nonce: IDL.Func([], [Result_5], ['query']), get_oldest_block: IDL.Func([], [Result_6], ['query']), get_registered_tokens: IDL.Func([], [Result_7], ['query']), get_subaccount_count: IDL.Func([], [Result_5], ['query']), get_subaccountid: IDL.Func([IDL.Nat32, IDL.Opt(TokenType)], [Result], ['query']), get_transaction_token_type: IDL.Func([IDL.Text], [Result_8], ['query']), get_transactions_count: IDL.Func([], [Result_5], ['query']), get_webhook_url: IDL.Func([], [Result_1], ['query']), list_transactions: IDL.Func([IDL.Opt(IDL.Nat64)], [Result_9], ['query']), refund: IDL.Func([IDL.Nat64], [Result], []), register_token: IDL.Func([TokenType, IDL.Text], [Result_10], []), set_interval: IDL.Func([IDL.Nat64], [Result_11], []), set_next_block: IDL.Func([IDL.Nat64], [Result_11], []), set_sweep_failed: IDL.Func([IDL.Text], [Result_12], []), set_webhook_url: IDL.Func([IDL.Text], [Result], []), single_sweep: IDL.Func([IDL.Text], [Result_12], []), sweep: IDL.Func([], [Result_12], []), sweep_by_token_type: IDL.Func([TokenType], [Result_12], []), sweep_subaccount: IDL.Func([IDL.Text, IDL.Float64, IDL.Opt(TokenType)], [Result_11], []), transform: IDL.Func([TransformArgs], [HttpResponse], ['query']), validate_icrc_account: IDL.Func([IDL.Text], [Result_13], ['query']), }); }; exports.idlFactory = idlFactory; const init = ({ IDL }) => { const Network = IDL.Variant({ Mainnet: IDL.Null, Local: IDL.Null }); return [Network, IDL.Nat64, IDL.Nat32, IDL.Text, IDL.Text]; }; exports.init = init;