diff --git a/src/adaptors/lavarage/idls.js b/src/adaptors/lavarage/idls.js new file mode 100644 index 0000000000..b8df1d4941 --- /dev/null +++ b/src/adaptors/lavarage/idls.js @@ -0,0 +1,1692 @@ +const LavarageIdl = { + "version": "0.1.0", + "name": "lavarage", + "instructions": [ + { + "name": "lpOperatorCreateTradingPool", + "accounts": [ + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "operator", + "isMut": true, + "isSigner": true + }, + { + "name": "nodeWallet", + "isMut": false, + "isSigner": false + }, + { + "name": "mint", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "interestRate", + "type": "u8" + } + ] + }, + { + "name": "lpOperatorCreateNodeWallet", + "accounts": [ + { + "name": "nodeWallet", + "isMut": true, + "isSigner": true + }, + { + "name": "operator", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] + }, + { + "name": "lpOperatorFundNodeWallet", + "accounts": [ + { + "name": "nodeWallet", + "isMut": true, + "isSigner": false + }, + { + "name": "funder", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + } + ] + }, + { + "name": "lpOperatorWithdrawFromNodeWallet", + "accounts": [ + { + "name": "nodeWallet", + "isMut": true, + "isSigner": false + }, + { + "name": "funder", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + } + ] + }, + { + "name": "lpOperatorUpdateMaxBorrow", + "accounts": [ + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": false, + "isSigner": false + }, + { + "name": "operator", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + } + ] + }, + { + "name": "lpOperatorUpdateMaxExposure", + "accounts": [ + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": false, + "isSigner": false + }, + { + "name": "operator", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + } + ] + }, + { + "name": "lpOperatorUpdateInterestRate", + "accounts": [ + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": false, + "isSigner": false + }, + { + "name": "operator", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "amount", + "type": "u8" + } + ] + }, + { + "name": "lpLiquidate", + "accounts": [ + { + "name": "mint", + "isMut": false, + "isSigner": false + }, + { + "name": "positionAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "trader", + "isMut": true, + "isSigner": false + }, + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "fromTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "toTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "randomAccountAsId", + "isMut": false, + "isSigner": false + }, + { + "name": "clock", + "isMut": false, + "isSigner": false + }, + { + "name": "operator", + "isMut": false, + "isSigner": true + }, + { + "name": "oracle", + "isMut": false, + "isSigner": true + } + ], + "args": [ + { + "name": "positionSize", + "type": "u64" + } + ] + }, + { + "name": "lpCollectInterest", + "accounts": [ + { + "name": "mint", + "isMut": false, + "isSigner": false + }, + { + "name": "positionAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "trader", + "isMut": true, + "isSigner": false + }, + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "fromTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "toTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "randomAccountAsId", + "isMut": false, + "isSigner": false + }, + { + "name": "clock", + "isMut": false, + "isSigner": false + }, + { + "name": "operator", + "isMut": false, + "isSigner": true + }, + { + "name": "oracle", + "isMut": false, + "isSigner": true + } + ], + "args": [ + { + "name": "price", + "type": "u128" + } + ] + }, + { + "name": "tradingOpenBorrow", + "accounts": [ + { + "name": "positionAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "trader", + "isMut": true, + "isSigner": true + }, + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": true, + "isSigner": false + }, + { + "name": "instructions", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "clock", + "isMut": false, + "isSigner": false + }, + { + "name": "randomAccountAsId", + "isMut": false, + "isSigner": false + }, + { + "name": "feeReceipient", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "positionSize", + "type": "u64" + }, + { + "name": "userPays", + "type": "u64" + } + ] + }, + { + "name": "tradingOpenAddCollateral", + "accounts": [ + { + "name": "positionAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "trader", + "isMut": true, + "isSigner": true + }, + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "mint", + "isMut": false, + "isSigner": false + }, + { + "name": "toTokenAccount", + "isMut": false, + "isSigner": false + }, + { + "name": "randomAccountAsId", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "maxInterestRate", + "type": "u8" + } + ] + }, + { + "name": "tradingCloseBorrowCollateral", + "accounts": [ + { + "name": "positionAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "trader", + "isMut": true, + "isSigner": true + }, + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "instructions", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "mint", + "isMut": false, + "isSigner": false + }, + { + "name": "fromTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "toTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "clock", + "isMut": false, + "isSigner": false + }, + { + "name": "randomAccountAsId", + "isMut": false, + "isSigner": false + } + ], + "args": [] + }, + { + "name": "tradingDataAccruedInterest", + "accounts": [ + { + "name": "positionAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "trader", + "isMut": true, + "isSigner": true + }, + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "clock", + "isMut": false, + "isSigner": false + }, + { + "name": "randomAccountAsId", + "isMut": false, + "isSigner": false + }, + { + "name": "feeReceipient", + "isMut": true, + "isSigner": false + } + ], + "args": [], + "returns": "u64" + }, + { + "name": "tradingCloseRepaySol", + "accounts": [ + { + "name": "positionAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "trader", + "isMut": true, + "isSigner": true + }, + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "clock", + "isMut": false, + "isSigner": false + }, + { + "name": "randomAccountAsId", + "isMut": false, + "isSigner": false + }, + { + "name": "feeReceipient", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "closingPositionSize", + "type": "u64" + }, + { + "name": "closeType", + "type": "u64" + } + ] + }, + { + "name": "tradingClosePartialRepaySol", + "accounts": [ + { + "name": "positionAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "trader", + "isMut": true, + "isSigner": true + }, + { + "name": "tradingPool", + "isMut": true, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "clock", + "isMut": false, + "isSigner": false + }, + { + "name": "randomAccountAsId", + "isMut": false, + "isSigner": false + }, + { + "name": "feeReceipient", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "repayPercentage", + "type": "u64" + } + ] + }, + { + "name": "syncNodeWallet", + "accounts": [ + { + "name": "nodeWallet", + "isMut": true, + "isSigner": false + }, + { + "name": "funder", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] + }, + { + "name": "tradingCreateTpDelegate", + "accounts": [ + { + "name": "delegate", + "isMut": true, + "isSigner": false + }, + { + "name": "originalOperator", + "isMut": true, + "isSigner": true + }, + { + "name": "delegatedAccount", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "price", + "type": "u64" + }, + { + "name": "lowerThreshold", + "type": "u64" + }, + { + "name": "delegateOperator", + "type": "publicKey" + }, + { + "name": "partialPercentage", + "type": "u64" + } + ] + }, + { + "name": "tradingRemoveTpDelegate", + "accounts": [ + { + "name": "delegate", + "isMut": true, + "isSigner": false + }, + { + "name": "originalOperator", + "isMut": true, + "isSigner": true + }, + { + "name": "delegatedAccount", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] + } + ], + "accounts": [ + { + "name": "delegate", + "type": { + "kind": "struct", + "fields": [ + { + "name": "delegateType", + "type": "u8" + }, + { + "name": "field1", + "type": "u64" + }, + { + "name": "field2", + "type": "u64" + }, + { + "name": "field3", + "type": "u64" + }, + { + "name": "field4", + "type": "publicKey" + }, + { + "name": "field5", + "type": "publicKey" + }, + { + "name": "originalOperator", + "type": "publicKey" + }, + { + "name": "delegateOperator", + "type": "publicKey" + }, + { + "name": "account", + "type": "publicKey" + } + ] + } + }, + { + "name": "nodeWallet", + "type": { + "kind": "struct", + "fields": [ + { + "name": "totalFunds", + "type": "u64" + }, + { + "name": "totalBorrowed", + "type": "u64" + }, + { + "name": "maintenanceLtv", + "type": "u8" + }, + { + "name": "liquidationLtv", + "type": "u8" + }, + { + "name": "nodeOperator", + "type": "publicKey" + } + ] + } + }, + { + "name": "pool", + "type": { + "kind": "struct", + "fields": [ + { + "name": "interestRate", + "type": "u8" + }, + { + "name": "collateralType", + "type": "publicKey" + }, + { + "name": "maxBorrow", + "type": "u64" + }, + { + "name": "nodeWallet", + "type": "publicKey" + }, + { + "name": "maxExposure", + "type": "u64" + }, + { + "name": "currentExposure", + "type": "u64" + } + ] + } + }, + { + "name": "position", + "type": { + "kind": "struct", + "fields": [ + { + "name": "pool", + "type": "publicKey" + }, + { + "name": "closeStatusRecallTimestamp", + "type": "u64" + }, + { + "name": "amount", + "type": "u64" + }, + { + "name": "userPaid", + "type": "u64" + }, + { + "name": "collateralAmount", + "type": "u64" + }, + { + "name": "timestamp", + "type": "i64" + }, + { + "name": "trader", + "type": "publicKey" + }, + { + "name": "seed", + "type": "publicKey" + }, + { + "name": "closeTimestamp", + "type": "i64" + }, + { + "name": "closingPositionSize", + "type": "u64" + }, + { + "name": "interestRate", + "type": "u8" + }, + { + "name": "lastInterestCollect", + "type": "i64" + } + ] + } + } + ], + "types": [ + { + "name": "LendingErrors", + "docs": [ + "Errors for this program" + ], + "type": { + "kind": "enum", + "variants": [ + { + "name": "AddressMismatch" + }, + { + "name": "ProgramMismatch" + }, + { + "name": "MissingRepay" + }, + { + "name": "IncorrectOwner" + }, + { + "name": "IncorrectProgramAuthority" + }, + { + "name": "CannotBorrowBeforeRepay" + }, + { + "name": "UnknownInstruction" + }, + { + "name": "ExpectedCollateralNotEnough" + } + ] + } + }, + { + "name": "ErrorCode", + "type": { + "kind": "enum", + "variants": [ + { + "name": "InvalidSignature" + }, + { + "name": "InvalidOracle" + } + ] + } + }, + { + "name": "ErrorCode", + "type": { + "kind": "enum", + "variants": [ + { + "name": "OnlyDelegateOperator" + }, + { + "name": "AddressMismatch" + }, + { + "name": "InvalidDelegateType" + } + ] + } + }, + { + "name": "PositionCloseType", + "type": { + "kind": "enum", + "variants": [ + { + "name": "ClosedByUser" + }, + { + "name": "Liquidated" + } + ] + } + } + ], + "events": [ + { + "name": "PositionCloseEvent", + "fields": [ + { + "name": "pool", + "type": "publicKey", + "index": false + }, + { + "name": "amount", + "type": "u64", + "index": false + }, + { + "name": "userPaid", + "type": "u64", + "index": false + }, + { + "name": "collateralAmount", + "type": "u64", + "index": false + }, + { + "name": "openTimestamp", + "type": "i64", + "index": false + }, + { + "name": "trader", + "type": "publicKey", + "index": false + }, + { + "name": "closeType", + "type": "u8", + "index": false + }, + { + "name": "closeTimestamp", + "type": "i64", + "index": false + }, + { + "name": "closingPositionSize", + "type": "u64", + "index": false + } + ] + }, + { + "name": "PositionOpenEvent", + "fields": [ + { + "name": "pool", + "type": "publicKey", + "index": false + }, + { + "name": "amount", + "type": "u64", + "index": false + }, + { + "name": "userPaid", + "type": "u64", + "index": false + }, + { + "name": "collateralAmount", + "type": "u64", + "index": false + }, + { + "name": "openTimestamp", + "type": "i64", + "index": false + }, + { + "name": "trader", + "type": "publicKey", + "index": false + } + ] + } + ], + "errors": [ + { + "code": 6000, + "name": "AddressMismatch", + "msg": "Address Mismatch" + }, + { + "code": 6001, + "name": "ProgramMismatch", + "msg": "Program Mismatch" + }, + { + "code": 6002, + "name": "MissingRepay", + "msg": "Missing Repay" + }, + { + "code": 6003, + "name": "IncorrectOwner", + "msg": "Incorrect Owner" + }, + { + "code": 6004, + "name": "IncorrectProgramAuthority", + "msg": "Incorrect Program Authority" + }, + { + "code": 6005, + "name": "CannotBorrowBeforeRepay", + "msg": "Cannot Borrow Before Repay" + }, + { + "code": 6006, + "name": "UnknownInstruction", + "msg": "Unknown Instruction" + }, + { + "code": 6007, + "name": "ExpectedCollateralNotEnough", + "msg": "Expected collateral not enough" + }, + { + "code": 6008, + "name": "ForTesting", + "msg": "TestError" + } + ] +} + +const StakingIdl = { + "version": "0.1.0", + "name": "staking", + "instructions": [ + { + "name": "mockNodeWallet", + "accounts": [ + { + "name": "newAccount", + "isMut": true, + "isSigner": true + }, + { + "name": "bank", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] + }, + { + "name": "updateNav", + "accounts": [ + { + "name": "data", + "isMut": true, + "isSigner": false + }, + { + "name": "oracle", + "isMut": false, + "isSigner": true, + "docs": [ + "Oracle will not sign if there are unsold collateral" + ] + } + ], + "args": [ + { + "name": "dailyNav", + "type": "u64" + }, + { + "name": "dailyNavAdjusted", + "type": "u64" + } + ] + }, + { + "name": "createDataAccount", + "accounts": [ + { + "name": "newAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "bank", + "isMut": true, + "isSigner": true + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "mint", + "isMut": true, + "isSigner": false + }, + { + "name": "toTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "initialMint", + "type": "u64" + }, + { + "name": "adjustment", + "type": "i64" + } + ] + }, + { + "name": "updateWhitelistedStakesSize", + "accounts": [ + { + "name": "data", + "isMut": true, + "isSigner": false + }, + { + "name": "updater", + "isMut": true, + "isSigner": true + } + ], + "args": [] + }, + { + "name": "updateWhitelistedStakes", + "accounts": [ + { + "name": "data", + "isMut": true, + "isSigner": false + }, + { + "name": "updater", + "isMut": true, + "isSigner": true + } + ], + "args": [] + }, + { + "name": "stake", + "accounts": [ + { + "name": "data", + "isMut": true, + "isSigner": false + }, + { + "name": "depositor", + "isMut": true, + "isSigner": true + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "mint", + "isMut": true, + "isSigner": false + }, + { + "name": "oracle", + "isMut": false, + "isSigner": true, + "docs": [ + "Oracle will not sign if there are unsold collateral" + ] + }, + { + "name": "multiSig", + "isMut": true, + "isSigner": false + }, + { + "name": "toTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": false, + "isSigner": false + }, + { + "name": "idleFunds", + "isMut": false, + "isSigner": false + }, + { + "name": "maxBidMint", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "solAmount", + "type": "u64" + }, + { + "name": "currentNav", + "type": "u64" + } + ] + }, + { + "name": "maxBidS", + "accounts": [ + { + "name": "data", + "isMut": true, + "isSigner": false + }, + { + "name": "depositor", + "isMut": true, + "isSigner": true + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "mint", + "isMut": true, + "isSigner": false + }, + { + "name": "oracle", + "isMut": false, + "isSigner": true, + "docs": [ + "Oracle will not sign if there are unsold collateral" + ] + }, + { + "name": "multiSig", + "isMut": true, + "isSigner": false + }, + { + "name": "toTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": false, + "isSigner": false + }, + { + "name": "idleFunds", + "isMut": false, + "isSigner": false + }, + { + "name": "maxBidMint", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "solAmount", + "type": "u64" + }, + { + "name": "currentNav", + "type": "u64" + } + ] + }, + { + "name": "unstake", + "accounts": [ + { + "name": "data", + "isMut": true, + "isSigner": false + }, + { + "name": "unstakeAccount", + "isMut": true, + "isSigner": true + }, + { + "name": "depositor", + "isMut": true, + "isSigner": true + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "mint", + "isMut": true, + "isSigner": false + }, + { + "name": "oracle", + "isMut": false, + "isSigner": true, + "docs": [ + "Oracle will not sign if there are unsold collateral" + ] + }, + { + "name": "fromTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": false, + "isSigner": false + }, + { + "name": "multiSig", + "isMut": false, + "isSigner": false + }, + { + "name": "idleFunds", + "isMut": false, + "isSigner": false + }, + { + "name": "maxBidMint", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "lstAmount", + "type": "u64" + }, + { + "name": "currentNav", + "type": "u64" + } + ] + }, + { + "name": "maxBidU", + "accounts": [ + { + "name": "data", + "isMut": true, + "isSigner": false + }, + { + "name": "unstakeAccount", + "isMut": true, + "isSigner": true + }, + { + "name": "depositor", + "isMut": true, + "isSigner": true + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "mint", + "isMut": true, + "isSigner": false + }, + { + "name": "oracle", + "isMut": false, + "isSigner": true, + "docs": [ + "Oracle will not sign if there are unsold collateral" + ] + }, + { + "name": "fromTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "nodeWallet", + "isMut": false, + "isSigner": false + }, + { + "name": "multiSig", + "isMut": false, + "isSigner": false + }, + { + "name": "idleFunds", + "isMut": false, + "isSigner": false + }, + { + "name": "maxBidMint", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "lstAmount", + "type": "u64" + }, + { + "name": "currentNav", + "type": "u64" + } + ] + }, + { + "name": "claim", + "accounts": [ + { + "name": "data", + "isMut": true, + "isSigner": false + }, + { + "name": "unstakeAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "depositor", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] + } + ], + "accounts": [ + { + "name": "nodeWallet", + "type": { + "kind": "struct", + "fields": [ + { + "name": "totalFunds", + "type": "u64" + }, + { + "name": "totalBorrowed", + "type": "u64" + }, + { + "name": "maintenanceLtv", + "type": "u8" + }, + { + "name": "liquidationLtv", + "type": "u8" + }, + { + "name": "nodeOperator", + "type": "publicKey" + } + ] + } + }, + { + "name": "dataAccount", + "type": { + "kind": "struct", + "fields": [ + { + "name": "borrowedAmountAdjustment", + "type": "i64" + }, + { + "name": "dailyNav", + "type": "u64" + }, + { + "name": "mint", + "type": "publicKey" + }, + { + "name": "pendingUnstake", + "type": "u64" + }, + { + "name": "dailyNavAdjusted", + "type": "u64" + }, + { + "name": "prevDailyNav", + "type": "u64" + }, + { + "name": "whitelistedStakeAccounts", + "type": { + "vec": "publicKey" + } + } + ] + } + }, + { + "name": "unstakeAccount", + "type": { + "kind": "struct", + "fields": [ + { + "name": "pendingUnstakeSol", + "type": "u64" + }, + { + "name": "unstakeTimestamp", + "type": "i64" + }, + { + "name": "depositor", + "type": "publicKey" + } + ] + } + } + ] + }; + +module.exports = { + LavarageIdl, + StakingIdl +}; \ No newline at end of file diff --git a/src/adaptors/lavarage/index.js b/src/adaptors/lavarage/index.js new file mode 100644 index 0000000000..afbfb68df4 --- /dev/null +++ b/src/adaptors/lavarage/index.js @@ -0,0 +1,256 @@ +const { Connection, PublicKey } = require('@solana/web3.js'); +const { getMint } = require('@solana/spl-token'); +const { Program } = require('@coral-xyz/anchor'); +const utils = require('../utils'); +const { LavarageIdl, StakingIdl } = require('./idls'); +const base58 = require('bs58').default; + +const SOLANA_RPC = process.env.SOLANA_RPC || 'https://api.mainnet-beta.solana.com'; +const PROGRAM_ID = 'CRSeeBqjDnm3UPefJ9gxrtngTsnQRhEJiTA345Q83X3v'; +const STAKING_PROGRAM_ID = '85vAnW1P89t9tdNddRGk6fo5bDxhYAY854NfVJDqzf7h'; +const LAVA_STAKING_TOKEN = '1stqQC3rTGhCwsXsXqF8qEwz7LQ2euK858V7adB7gaQ'; +const MAX_BID_TOKEN = 'mbpudvZpLkSGQYZ372GBEzsHheTxKMSAdXvHWrjQtM7'; + +const DATA_ACCOUNT = 'HTnwdgfXrA6gZRiQsnfxLKbvdcqnxdbuC2FJsmCCVMw9'; +const NODE_WALLET = '6riP1W6R3qzUPWYwLGtXEC23aTqmyAEdDtXzhntJquAh'; +const IDLE_FUNDS = 'bkhAyULeiXwju7Zmy4t3paDHtVZjNaofVQ4VgEdTWiE'; +const MULTISIG = 'DkPYEECBc28iute8vWvAuAU4xiM91Sht59p7FHZbmNQv'; + +const PROJECT_START_TIMESTAMP = 1716350663; + +const EDGE_CASE_TIMESTAMPS = [ + { start: 1713880000, end: 1713885480 }, // 10:32 AM - 10:58 AM ET on April 23, 2024 + { start: 1713874500, end: 1713876060 }, // 8:15 AM - 8:41 AM ET on April 23, 2024 +] + +const apy = async () => { + try { + const connection = new Connection(SOLANA_RPC, 'confirmed'); + + const lavarageProgram = new Program(LavarageIdl, PROGRAM_ID, {connection}); + const stakingProgram = new Program(StakingIdl, STAKING_PROGRAM_ID, {connection}); + + // Get mint information for both tokens + const [mint, mintMBP] = await Promise.all([ + getMint(connection, new PublicKey(LAVA_STAKING_TOKEN)), + getMint(connection, new PublicKey(MAX_BID_TOKEN)) + ]); + + // Get unstaked balance from staking program data account + const unstakedBalance = await getUnstakingAccountsTotal(stakingProgram); + + const vaultBalance = await calculateVaultBalance(lavarageProgram, stakingProgram, mint, mintMBP, unstakedBalance); + + if (!vaultBalance || !vaultBalance.total || vaultBalance.total <= 0) { + console.warn('Invalid vault balance data, returning empty pools'); + return []; + } + + // Get SOL price for TVL calculation + const solPrice = await getSolPrice(); + + // Calculate TVL in USD + const totalTvlSol = vaultBalance.total / 1e9; // Convert lamports to SOL + const tvlUsd = totalTvlSol * solPrice; + + // Calculate APY based on NAV + const currentTimestamp = Math.floor(Date.now() / 1000); + const timeElapsed = currentTimestamp - PROJECT_START_TIMESTAMP; + const historicalPnL = (vaultBalance.nav - 1) * 100; + const combinedAPY = (historicalPnL / timeElapsed) * 31536000; // 31536000 = seconds in a year + + // Calculate proportional TVL for each token based on supply + const totalSupply = Number(mint.supply + mintMBP.supply); + const lavaSolSupply = Number(mint.supply); + const maxBidSupply = Number(mintMBP.supply); + + const pool = { + pool: `${LAVA_STAKING_TOKEN}-solana`, + chain: utils.formatChain('solana'), + project: 'lavarage', + symbol: 'SOL', + tvlUsd: tvlUsd, + apyBase: combinedAPY, + underlyingTokens: ['So11111111111111111111111111111111111111112'], + }; + + return [pool]; + + } catch (error) { + console.error('Error fetching Lavarage on-chain data:', error.message); + return []; + } +}; + +const getUnstakingAccountsTotal = async (stakingProgram) => { + try { + const dataAccount = await stakingProgram.account.dataAccount.fetch(DATA_ACCOUNT); + return BigInt(dataAccount.pendingUnstake.toString()); + } catch (error) { + console.error('Error fetching unstaking accounts total:', error); + return BigInt(0); + } +}; + +const getProtocolStakingAccounts = async (stakingProgram) => { + try { + const dataAccount = (await stakingProgram.account.dataAccount.all())[0]; + return dataAccount.account.whitelistedStakeAccounts.map(pubkey => ({ + pubkey, + isSigner: false, + isWritable: false + })); + } catch (error) { + console.error('Error fetching protocol staking accounts:', error); + return []; + } +}; + +const getSumOpenedPositions = async (lavarageProgram) => { + try { + // Fetch all pools filtered by node wallet + const pools = await lavarageProgram.account.pool.all([ + { + memcmp: { + offset: 49, + bytes: NODE_WALLET, + }, + }, + ]); + + const poolAddresses = pools.map(p => p.publicKey.toBase58()); + + // Fetch all positions for these pools + const value = BigInt(9999); + const valueBuffer = Buffer.alloc(8); + valueBuffer.writeBigUInt64LE(value, 0); + + const positionsRaw = ( + await lavarageProgram.account.position.all([ + { dataSize: 178 }, + { + memcmp: { + offset: 40, + bytes: base58.encode(Buffer.from(new Uint8Array(8))), + }, + }, + ]) + ).concat( + await lavarageProgram.account.position.all([ + { dataSize: 178 }, + { + memcmp: { + offset: 40, + bytes: base58.encode(valueBuffer), + }, + }, + ]) + ); + + // Filter positions that belong to our pools + const userPositions = positionsRaw + .filter(pos => poolAddresses.includes(pos.account.pool.toBase58())) + .map(deserializePosition) + .filter(p => p); + + // Filter active positions + const activePositions = userPositions.filter( + p => p.closeStatusRecallTimestamp === '0' || isWithinEdgeCaseTimeRange(p.timestamp) + ); + + return activePositions.reduce((acc, position) => acc + Number(position.amount), 0); + } catch (error) { + console.error('Error fetching opened positions:', error); + return 0; + } +}; + +const calculateVaultBalance = async (lavarageProgram, stakingProgram, mint, mintMBP, unstakedBalance) => { + try { + const sumOpenedPositions = await getSumOpenedPositions(lavarageProgram); + + const stakingAccounts = await getProtocolStakingAccounts(stakingProgram); + + const sumStaked = (await Promise.all( + stakingAccounts.map(sa => lavarageProgram.provider.connection.getBalance(sa.pubkey)) + )).reduce((acc, cur) => acc + cur, 0); + + const sumIdle = await lavarageProgram.provider.connection.getBalance(new PublicKey(IDLE_FUNDS)); + + const sumDeployed = (await lavarageProgram.provider.connection.getAccountInfo(new PublicKey(NODE_WALLET))).lamports + + const sumMultisig = (await lavarageProgram.provider.connection.getAccountInfo(new PublicKey(MULTISIG))).lamports + + const pendingWithdrawal = (await lavarageProgram.provider.connection.getAccountInfo(new PublicKey(DATA_ACCOUNT))).lamports + + const sumPendingUnstake = await lavarageProgram.provider.connection.getBalance(new PublicKey(DATA_ACCOUNT)) + + const total = sumOpenedPositions + sumIdle + sumDeployed + sumMultisig + sumPendingUnstake + sumStaked; + + const totalSupply = Number(mint.supply + mintMBP.supply); + const nav = totalSupply > 0 ? (total - Number(unstakedBalance)) / totalSupply : 1; + + return { + total, + delegated: sumStaked, + deployed: sumOpenedPositions + sumDeployed, + openedPositions: sumOpenedPositions, + idle: sumIdle, + multisig: sumMultisig, + nav: nav, + pendingWithdrawal, + sources: [ + IDLE_FUNDS, + NODE_WALLET, + MULTISIG, + DATA_ACCOUNT, + ].concat(stakingAccounts.map(sa => sa.pubkey.toBase58())), + }; + } catch (error) { + console.error('Error calculating vault balance:', error); + return null; + } +}; + +const deserializePosition = (position) => { + const { amount, collateralAmount, closeStatusRecallTimestamp, timestamp, trader } = position.account; + const publicKey = position.publicKey; + + return { + amount, + collateralAmount: collateralAmount.toString(), + closeStatusRecallTimestamp: closeStatusRecallTimestamp.toString(), + timestamp: timestamp.toNumber(), + publicKey: publicKey.toBase58(), + trader: trader.toBase58(), + pool: position.account.pool.toBase58(), + userPaid: position.account.userPaid.toNumber(), + seed: position.account.seed, + closeTimestamp: position.account.closeTimestamp.toNumber(), + closingPositionSize: position.account.closingPositionSize.toNumber(), + interestRate: position.account.interestRate, + accruedInterest: 0, + }; +}; + +const isWithinEdgeCaseTimeRange = (closeTimestamp) => { + return EDGE_CASE_TIMESTAMPS.some(({ start, end }) => closeTimestamp >= start && closeTimestamp <= end); +}; + +const getSolPrice = async () => { + try { + const priceResponse = await utils.getData( + 'https://coins.llama.fi/prices/current/solana:So11111111111111111111111111111111111111112' + ); + return priceResponse.coins['solana:So11111111111111111111111111111111111111112'].price; + } catch (error) { + console.error('Error fetching SOL price:', error); + return 0; + } +}; + +module.exports = { + timetravel: false, + apy, + url: 'https://app.lavarage.xyz/stake' +}; diff --git a/src/adaptors/package-lock.json b/src/adaptors/package-lock.json index 7433cb69fa..3714e9009c 100644 --- a/src/adaptors/package-lock.json +++ b/src/adaptors/package-lock.json @@ -10,7 +10,10 @@ "license": "ISC", "dependencies": { "@blend-capital/blend-sdk": "3.0.1", + "@coral-xyz/anchor": "0.29.0", "@defillama/sdk": "^5.0.112", + "@solana/spl-token": "^0.4.13", + "@solana/web3.js": "^1.98.2", "@stacks/network": "^6.13.0", "@stacks/transactions": "^6.15.0", "@ton/ton": "14.0.0", @@ -20,6 +23,7 @@ "async-retry": "^1.3.3", "axios": "^1.7.2", "bignumber.js": "^9.1.1", + "bs58": "^6.0.0", "csv-writer": "^1.6.0", "date-fns": "^2.23.0", "dotenv": "^10.0.0", @@ -1279,12 +1283,10 @@ } }, "node_modules/@babel/runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", - "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -1354,6 +1356,77 @@ "follow-redirects": ">=1.15.6" } }, + "node_modules/@coral-xyz/anchor": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/@coral-xyz/anchor/-/anchor-0.29.0.tgz", + "integrity": "sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "@coral-xyz/borsh": "^0.29.0", + "@noble/hashes": "^1.3.1", + "@solana/web3.js": "^1.68.0", + "bn.js": "^5.1.2", + "bs58": "^4.0.1", + "buffer-layout": "^1.2.2", + "camelcase": "^6.3.0", + "cross-fetch": "^3.1.5", + "crypto-hash": "^1.3.0", + "eventemitter3": "^4.0.7", + "pako": "^2.0.3", + "snake-case": "^3.0.4", + "superstruct": "^0.15.4", + "toml": "^3.0.0" + }, + "engines": { + "node": ">=11" + } + }, + "node_modules/@coral-xyz/anchor/node_modules/base-x": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@coral-xyz/anchor/node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/@coral-xyz/anchor/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/@coral-xyz/anchor/node_modules/superstruct": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.15.5.tgz", + "integrity": "sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==", + "license": "MIT" + }, + "node_modules/@coral-xyz/borsh": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/@coral-xyz/borsh/-/borsh-0.29.0.tgz", + "integrity": "sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==", + "license": "Apache-2.0", + "dependencies": { + "bn.js": "^5.1.2", + "buffer-layout": "^1.2.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@solana/web3.js": "^1.68.0" + } + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -4146,6 +4219,530 @@ "node": ">=16.0.0" } }, + "node_modules/@solana/buffer-layout": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", + "integrity": "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==", + "license": "MIT", + "dependencies": { + "buffer": "~6.0.3" + }, + "engines": { + "node": ">=5.10" + } + }, + "node_modules/@solana/buffer-layout-utils": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@solana/buffer-layout-utils/-/buffer-layout-utils-0.2.0.tgz", + "integrity": "sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==", + "license": "Apache-2.0", + "dependencies": { + "@solana/buffer-layout": "^4.0.0", + "@solana/web3.js": "^1.32.0", + "bigint-buffer": "^1.1.5", + "bignumber.js": "^9.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@solana/codecs": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs/-/codecs-2.0.0-rc.1.tgz", + "integrity": "sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.0.0-rc.1", + "@solana/codecs-data-structures": "2.0.0-rc.1", + "@solana/codecs-numbers": "2.0.0-rc.1", + "@solana/codecs-strings": "2.0.0-rc.1", + "@solana/options": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs-core": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.3.0.tgz", + "integrity": "sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw==", + "license": "MIT", + "dependencies": { + "@solana/errors": "2.3.0" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": ">=5.3.3" + } + }, + "node_modules/@solana/codecs-data-structures": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-rc.1.tgz", + "integrity": "sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.0.0-rc.1", + "@solana/codecs-numbers": "2.0.0-rc.1", + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs-data-structures/node_modules/@solana/codecs-core": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.0.0-rc.1.tgz", + "integrity": "sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==", + "license": "MIT", + "dependencies": { + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs-data-structures/node_modules/@solana/codecs-numbers": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.0.0-rc.1.tgz", + "integrity": "sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.0.0-rc.1", + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs-data-structures/node_modules/@solana/errors": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-2.0.0-rc.1.tgz", + "integrity": "sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "commander": "^12.1.0" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs-data-structures/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@solana/codecs-data-structures/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@solana/codecs-numbers": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.3.0.tgz", + "integrity": "sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.3.0", + "@solana/errors": "2.3.0" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": ">=5.3.3" + } + }, + "node_modules/@solana/codecs-strings": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-strings/-/codecs-strings-2.0.0-rc.1.tgz", + "integrity": "sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.0.0-rc.1", + "@solana/codecs-numbers": "2.0.0-rc.1", + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "fastestsmallesttextencoderdecoder": "^1.0.22", + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs-strings/node_modules/@solana/codecs-core": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.0.0-rc.1.tgz", + "integrity": "sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==", + "license": "MIT", + "dependencies": { + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs-strings/node_modules/@solana/codecs-numbers": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.0.0-rc.1.tgz", + "integrity": "sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.0.0-rc.1", + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs-strings/node_modules/@solana/errors": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-2.0.0-rc.1.tgz", + "integrity": "sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "commander": "^12.1.0" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs-strings/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@solana/codecs-strings/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@solana/codecs/node_modules/@solana/codecs-core": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.0.0-rc.1.tgz", + "integrity": "sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==", + "license": "MIT", + "dependencies": { + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs/node_modules/@solana/codecs-numbers": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.0.0-rc.1.tgz", + "integrity": "sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.0.0-rc.1", + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs/node_modules/@solana/errors": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-2.0.0-rc.1.tgz", + "integrity": "sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "commander": "^12.1.0" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/codecs/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@solana/codecs/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@solana/errors": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-2.3.0.tgz", + "integrity": "sha512-66RI9MAbwYV0UtP7kGcTBVLxJgUxoZGm8Fbc0ah+lGiAw17Gugco6+9GrJCV83VyF2mDWyYnYM9qdI3yjgpnaQ==", + "license": "MIT", + "dependencies": { + "chalk": "^5.4.1", + "commander": "^14.0.0" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": ">=5.3.3" + } + }, + "node_modules/@solana/errors/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@solana/errors/node_modules/commander": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", + "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/@solana/options": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/options/-/options-2.0.0-rc.1.tgz", + "integrity": "sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.0.0-rc.1", + "@solana/codecs-data-structures": "2.0.0-rc.1", + "@solana/codecs-numbers": "2.0.0-rc.1", + "@solana/codecs-strings": "2.0.0-rc.1", + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/options/node_modules/@solana/codecs-core": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.0.0-rc.1.tgz", + "integrity": "sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==", + "license": "MIT", + "dependencies": { + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/options/node_modules/@solana/codecs-numbers": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.0.0-rc.1.tgz", + "integrity": "sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.0.0-rc.1", + "@solana/errors": "2.0.0-rc.1" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/options/node_modules/@solana/errors": { + "version": "2.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-2.0.0-rc.1.tgz", + "integrity": "sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "commander": "^12.1.0" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "peerDependencies": { + "typescript": ">=5" + } + }, + "node_modules/@solana/options/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@solana/options/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@solana/spl-token": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.4.13.tgz", + "integrity": "sha512-cite/pYWQZZVvLbg5lsodSovbetK/eA24gaR0eeUeMuBAMNrT8XFCwaygKy0N2WSg3gSyjjNpIeAGBAKZaY/1w==", + "license": "Apache-2.0", + "dependencies": { + "@solana/buffer-layout": "^4.0.0", + "@solana/buffer-layout-utils": "^0.2.0", + "@solana/spl-token-group": "^0.0.7", + "@solana/spl-token-metadata": "^0.1.6", + "buffer": "^6.0.3" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@solana/web3.js": "^1.95.5" + } + }, + "node_modules/@solana/spl-token-group": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@solana/spl-token-group/-/spl-token-group-0.0.7.tgz", + "integrity": "sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==", + "license": "Apache-2.0", + "dependencies": { + "@solana/codecs": "2.0.0-rc.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@solana/web3.js": "^1.95.3" + } + }, + "node_modules/@solana/spl-token-metadata": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@solana/spl-token-metadata/-/spl-token-metadata-0.1.6.tgz", + "integrity": "sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==", + "license": "Apache-2.0", + "dependencies": { + "@solana/codecs": "2.0.0-rc.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@solana/web3.js": "^1.95.3" + } + }, + "node_modules/@solana/web3.js": { + "version": "1.98.2", + "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.98.2.tgz", + "integrity": "sha512-BqVwEG+TaG2yCkBMbD3C4hdpustR4FpuUFRPUmqRZYYlPI9Hg4XMWxHWOWRzHE9Lkc9NDjzXFX7lDXSgzC7R1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "@noble/curves": "^1.4.2", + "@noble/hashes": "^1.4.0", + "@solana/buffer-layout": "^4.0.1", + "@solana/codecs-numbers": "^2.1.0", + "agentkeepalive": "^4.5.0", + "bn.js": "^5.2.1", + "borsh": "^0.7.0", + "bs58": "^4.0.1", + "buffer": "6.0.3", + "fast-stable-stringify": "^1.0.0", + "jayson": "^4.1.1", + "node-fetch": "^2.7.0", + "rpc-websockets": "^9.0.2", + "superstruct": "^2.0.2" + } + }, + "node_modules/@solana/web3.js/node_modules/@noble/curves": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.4.tgz", + "integrity": "sha512-2bKONnuM53lINoDrSmK8qP8W271ms7pygDhZt4SiLOoLwBtoHqeCFi6RG42V8zd3mLHuJFhU/Bmaqo4nX0/kBw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@solana/web3.js/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@solana/web3.js/node_modules/base-x": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@solana/web3.js/node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", + "dependencies": { + "base-x": "^3.0.2" + } + }, "node_modules/@stacks/common": { "version": "6.16.0", "resolved": "https://registry.npmjs.org/@stacks/common/-/common-6.16.0.tgz", @@ -4246,6 +4843,15 @@ "node": ">=8" } }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, "node_modules/@ton/core": { "version": "0.56.3", "resolved": "https://registry.npmjs.org/@ton/core/-/core-0.56.3.tgz", @@ -4367,6 +4973,15 @@ "@types/node": "*" } }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", @@ -4449,6 +5064,12 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "license": "MIT" + }, "node_modules/@types/ws": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", @@ -4658,6 +5279,18 @@ "node": ">= 6.0.0" } }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -5021,13 +5654,10 @@ } }, "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "peer": true, - "dependencies": { - "safe-buffer": "^5.0.1" - } + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.1.tgz", + "integrity": "sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==", + "license": "MIT" }, "node_modules/base32.js": { "version": "0.1.0", @@ -5074,6 +5704,19 @@ "node": "*" } }, + "node_modules/bigint-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz", + "integrity": "sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "bindings": "^1.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/bignumber.js": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", @@ -5093,6 +5736,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, "node_modules/blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", @@ -5104,6 +5756,35 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, + "node_modules/borsh": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz", + "integrity": "sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==", + "license": "Apache-2.0", + "dependencies": { + "bn.js": "^5.2.0", + "bs58": "^4.0.0", + "text-encoding-utf-8": "^1.0.2" + } + }, + "node_modules/borsh/node_modules/base-x": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/borsh/node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", + "dependencies": { + "base-x": "^3.0.2" + } + }, "node_modules/bowser": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", @@ -5291,12 +5972,12 @@ } }, "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "peer": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", + "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", + "license": "MIT", "dependencies": { - "base-x": "^3.0.2" + "base-x": "^5.0.0" } }, "node_modules/bs58check": { @@ -5310,6 +5991,26 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/bs58check/node_modules/base-x": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bs58check/node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", + "peer": true, + "dependencies": { + "base-x": "^3.0.2" + } + }, "node_modules/bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -5347,12 +6048,35 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, + "node_modules/buffer-layout": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/buffer-layout/-/buffer-layout-1.2.2.tgz", + "integrity": "sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==", + "license": "MIT", + "engines": { + "node": ">=4.5" + } + }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "peer": true }, + "node_modules/bufferutil": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.9.tgz", + "integrity": "sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -5690,6 +6414,18 @@ "node": ">= 8" } }, + "node_modules/crypto-hash": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/crypto-hash/-/crypto-hash-1.3.0.tgz", + "integrity": "sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/csv-writer": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/csv-writer/-/csv-writer-1.6.0.tgz", @@ -5784,6 +6520,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -5827,6 +6575,16 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/dotenv": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", @@ -5927,6 +6685,21 @@ "node": ">= 0.4" } }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "license": "MIT" + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "license": "MIT", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, "node_modules/escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", @@ -6191,6 +6964,14 @@ "url": "https://github.com/sponsors/jaydenseric" } }, + "node_modules/eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", + "engines": { + "node": "> 0.1.90" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -6202,6 +6983,12 @@ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, + "node_modules/fast-stable-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz", + "integrity": "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==", + "license": "MIT" + }, "node_modules/fast-xml-parser": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", @@ -6223,6 +7010,13 @@ "fxparser": "src/cli/cli.js" } }, + "node_modules/fastestsmallesttextencoderdecoder": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz", + "integrity": "sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==", + "license": "CC0-1.0", + "peer": true + }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", @@ -6240,6 +7034,12 @@ "is-retry-allowed": "^3.0.0" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT" + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -6780,6 +7580,15 @@ "node": ">=10.17.0" } }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -7160,6 +7969,92 @@ "node": ">=8" } }, + "node_modules/jayson": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.2.0.tgz", + "integrity": "sha512-VfJ9t1YLwacIubLhONk0KFeosUBwstRWQ0IRT1KDjEjnVnSOVHC3uwugyV7L0c7R9lpVyrUGT2XWiBA1UTtpyg==", + "license": "MIT", + "dependencies": { + "@types/connect": "^3.4.33", + "@types/node": "^12.12.54", + "@types/ws": "^7.4.4", + "commander": "^2.20.3", + "delay": "^5.0.0", + "es6-promisify": "^5.0.0", + "eyes": "^0.1.8", + "isomorphic-ws": "^4.0.1", + "json-stringify-safe": "^5.0.1", + "stream-json": "^1.9.1", + "uuid": "^8.3.2", + "ws": "^7.5.10" + }, + "bin": { + "jayson": "bin/jayson.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jayson/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "license": "MIT" + }, + "node_modules/jayson/node_modules/@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/jayson/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/jayson/node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/jayson/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/jayson/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/jest": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", @@ -8777,6 +9672,12 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "license": "ISC" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -8977,6 +9878,15 @@ "node": ">=8" } }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/lru_map": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", @@ -9433,6 +10343,16 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/node-addon-api": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", @@ -9462,7 +10382,6 @@ "version": "4.8.1", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", - "peer": true, "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -9618,6 +10537,12 @@ "node": ">=6" } }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -9913,11 +10838,6 @@ "node": ">=8.10.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, "node_modules/require-addon": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/require-addon/-/require-addon-1.1.0.tgz", @@ -10036,6 +10956,38 @@ "rlp": "bin/rlp" } }, + "node_modules/rpc-websockets": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-9.1.2.tgz", + "integrity": "sha512-fvA0JfSqWmJsq0FqLnl51DPRMqPer7hcIqqLwuhgAUOWrLVuJhmNeL+Y4Ds5PdoX/NyUhUWoflL6A7bT93Xfkg==", + "license": "LGPL-3.0-only", + "dependencies": { + "@swc/helpers": "^0.5.11", + "@types/uuid": "^8.3.4", + "@types/ws": "^8.2.2", + "buffer": "^6.0.3", + "eventemitter3": "^5.0.1", + "uuid": "^8.3.2", + "ws": "^8.5.0" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/kozjak" + }, + "optionalDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + } + }, + "node_modules/rpc-websockets/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -10200,6 +11152,16 @@ "node": ">=8" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/sodium-native": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-4.3.3.tgz", @@ -10349,6 +11311,21 @@ "node": ">= 0.8" } }, + "node_modules/stream-chain": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz", + "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==", + "license": "BSD-3-Clause" + }, + "node_modules/stream-json": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.9.1.tgz", + "integrity": "sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==", + "license": "BSD-3-Clause", + "dependencies": { + "stream-chain": "^2.2.5" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -10487,6 +11464,15 @@ "node": ">=10" } }, + "node_modules/superstruct": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-2.0.2.tgz", + "integrity": "sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -10584,6 +11570,11 @@ "node": ">=8" } }, + "node_modules/text-encoding-utf-8": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz", + "integrity": "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==" + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -10714,9 +11705,10 @@ } }, "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/tsort": { "version": "0.0.1", @@ -10837,6 +11829,20 @@ "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, "node_modules/util": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", diff --git a/src/adaptors/package.json b/src/adaptors/package.json index 67e2a0d097..33351de309 100644 --- a/src/adaptors/package.json +++ b/src/adaptors/package.json @@ -8,7 +8,10 @@ "license": "ISC", "dependencies": { "@blend-capital/blend-sdk": "3.0.1", + "@coral-xyz/anchor": "0.29.0", "@defillama/sdk": "^5.0.112", + "@solana/spl-token": "^0.4.13", + "@solana/web3.js": "^1.98.2", "@stacks/network": "^6.13.0", "@stacks/transactions": "^6.15.0", "@ton/ton": "14.0.0", @@ -18,6 +21,7 @@ "async-retry": "^1.3.3", "axios": "^1.7.2", "bignumber.js": "^9.1.1", + "bs58": "^6.0.0", "csv-writer": "^1.6.0", "date-fns": "^2.23.0", "dotenv": "^10.0.0",