Skip to content

Instantly share code, notes, and snippets.

View adairrr's full-sized avatar
💭
"You broke it, didn't you."

Interchain Adair adairrr

💭
"You broke it, didn't you."
View GitHub Profile
@adairrr
adairrr / icaa-funds-test.rs
Created January 29, 2024 02:23
Interchain Abstract Account testing
use std::str::FromStr;
use abstract_client::{AbstractClient, Namespace};
use abstract_core::ibc_client::QueryMsgFns;
use abstract_core::ibc_host::{HelperAction, HostAction};
use abstract_core::objects::AssetEntry;
use abstract_core::objects::chain_name::ChainName;
use abstract_interface::{Abstract, AbstractAccount, IbcClient, ManagerExecFns};
use cosmwasm_std::coins;
use cw_orch::{
@adairrr
adairrr / standalone-cw-plus.rs
Created August 18, 2023 07:18
Hacky script to upload cw-plus modules using BOOT
use std::env;
use std::sync::Arc;
use abstract_boot::VersionControl;
use abstract_os::{
objects::module::{ModuleInfo, ModuleVersion},
objects::module_reference::ModuleReference,
version_control
};
use boot_core::{
/**
* This file was automatically generated by @cosmwasm/ts-codegen@0.24.0.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run the @cosmwasm/ts-codegen generate command to regenerate this file.
*/
import { ExecuteMsg, QueryMsg } from './AnsHost.types'
import { CamelCasedProperties } from 'type-fest'
export abstract class AnsHostExecuteMsgBuilder {
@adairrr
adairrr / abstract-autocompounder-implementation-comparison.md
Last active March 20, 2023 05:59
Abstract Autocompounder Implementation Comparison

Vanilla CosmWasm

Analysis using SCC of https://github.com/spectrumprotocol/contracts excluding tests.

Language Files Lines Blanks Comments Code Complexity
Rust 78 9386 1106 376 7904 585
JSON 60 5244 0 0 5244 0
TOML 14 565 91 50 424 6
Markdown 1 155 41 0 114 0
@@ -1,8 +1,16 @@
+-webkit-
text
@@ -33,8 +33,8 @@
0%25;%0A
-
@@ -98,17 +98,17 @@
optimize
// PRODUCTION
text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
text-rendering: optimizelegibility;
--toastify-color-light: #fff;
--toastify-color-dark: #121212;
--toastify-color-info: #3498db;
--toastify-color-success: #07bc0c;
--toastify-color-warning: #f1c40f;
--toastify-color-error: #e74c3c;
import { KeyedReactQueryOptions } from 'api/queries/useReactQueryOptions'
import { Tendermint34Client } from '@cosmjs/tendermint-rpc'
import { QueryKey } from '@tanstack/query-core'
import { useChain, useNetwork } from 'contexts'
import { useQuery } from '@tanstack/react-query'
import { QueryOptions } from 'api/queries/query'
import { CosmWasmClient } from '@cosmjs/cosmwasm-stargate'
import { StargateClient } from '@cosmjs/stargate'
export const clientKeys = {
import React, { FC, PropsWithChildren } from 'react'
import { assets, chains } from 'chain-registry'
import { wallets as keplrWallets } from '@cosmos-kit/keplr'
import { wallets as stationWallets } from '@cosmos-kit/cosmostation'
import { GasPrice } from '@cosmjs/stargate'
import { SigningCosmWasmClientOptions } from '@cosmjs/cosmwasm-stargate'
import { WalletProvider } from 'contexts/WalletContext'
import { DefaultModal, WalletProvider as CosmosKitWalletProvider } from '@cosmos-kit/react'
import { MainWalletBase, SignerOptions } from '@cosmos-kit/core'
import { Chain as ChainRegistryChain } from '@chain-registry/types'
const connectStation = () => {
setWalletStatus(WalletStatus.INITIALIZING)
try {
const provider = await tendermint()
const supportedChains = await provider.getSupportedChains()
log.debug('supportedChains', supportedChains)
// If network not already there, add
if (
import { useCallback, useEffect, useMemo, useState } from 'react'
import { EquilibriumClient } from 'client/core'
import EquilibriumContext from './EquilibriumContext'
import { chains } from 'chain-registry'
import useWallet from '../wallet/useWallet'
export default function EquilibriumProvider({
children,
}: {