Skip to content

Latest commit

 

History

History
132 lines (110 loc) · 4.63 KB

File metadata and controls

132 lines (110 loc) · 4.63 KB

Mint test tokens at https://app.aave.com/faucet/

UI Design File: https://www.figma.com/design/mosLGIAalDCUYJudJoiH7F/Beam-Hack-Project-(Hand-Off-File)?node-id=3-14&t=rZ1CaJH37Nhb4PyD-1

Pitch Deck | Demo Video | X

Contract Addresses

Module Address
AaveV3Module#AaveV3 0x0c4aB91eef4F9a3Db9179e9bF8421D64B5B4a35b
ChainlinkModule#Chainlink 0xBAc706D7F29a2ba7DCfDAff3Da0B9f057EdF7c18
EventsModule#Events 0xA10E3e1e1c574CAcFe18776834568Deb49d94b44
ReceiptModule#Receipt 0xF9fBFE7ce569e4A9A64606A2296BdF4403AD0B12
UniswapV2Module#UniswapV2 0x54406D8748E8B0D930dEBEc11748768dcADC5eCC
BeamOracleModule#BeamOracle 0x2e009188D9277ac7b58537fe0eBEf5F4912e7a1B
HookManagerModule#HookManager 0x6bAaEdD503FcdF573E28a4a9Ea7d9CeF8C901e67
MerchantModule#Merchant 0xc4Bf9Fe6A0E9104b03f290C80fC1C2058529bD6c
OneTimeTransactionModule#OneTimeTransaction 0xEe3c254b0FebaF2984DE64849223eAb494319f86
RecurrentTransactionModule#RecurrentTransaction 0xEF6ec3bAC878D746734A495eCceE655b7712C6e0
BeamModule#Beam 0x31f73F44019328da4545d589a1f3e8A62C0a3e69

Beam SDK

npm i beam-ts@latest

Init

const beamSdk = new BeamSDK({
    network: Network.Testnet,
});

Create One Time Transaction

create(params: PrepareOneTimeTransaction): Promise<TransactionCallback>;
beamSdk.oneTimeTransaction.create({
                merchant: address,
                payers: [address],
                amounts: [bigint] ,
                token: address,
                description: string,
                metadata: {
                    schemaVersion: number,
                    value: string
                },
                splitPayment: boolean
            })

Fulfill One Time Transaction (Split Transaction)

fulfill(
    params: PrepareFulfillOneTimeTransaction
  ): Promise<TransactionCallback>;

Create Recurrent Transaction

create(params: PrepareRecurrentTransaction): Promise<TransactionCallback>;
beamSdk.recurrentTransaction.create({
                merchant: address,
                subscriptionId: bytes32,
                description: string,
                metadata: {
                    schemaVersion: number,
                    value: string
                }
            });

Fulfill/Renew Recurrent Transaction

fulfill(
    params: PrepareFulfillRecurrentTransaction
  ): Promise<TransactionCallback>;

Cancel Recurrent Transaction

cancel(
    params: PrepareCancelRecurrentTransaction
  ): Promise<TransactionCallback>;

Get Merchant

getMerchant(params: GetMerchant): Promise<Merchant | null>;

Get Transaction

getTransaction(params: GetTransaction): Promise<Transaction | null>;

Get Transactions

getTransactions(params: GetTransactions): Promise<Transaction[]>;

Get Transactions From Hash

getTransactionsFromHash(params: GetTransactionHash): Promise<Transaction[]>;

Get One Time Transactions

getOneTimeTransactions(params: GetTransactions): Promise<Transaction[]>;

Get Recurrent Transactions

getRecurrentTransactions(params: GetTransactions): Promise<Transaction[]>;

Get Subscription

getSubscription(params: GetSubscription): Promise<Subscription | null>;

Get Subscriptions

getSubscriptions(params: GetSubscriptions): Promise<Subscription[]>;